千家信息网

怎么在docker上构建私有云IDE和devops构建链

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容介绍了"怎么在docker上构建私有云IDE和devops构建链"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅
千家信息网最后更新 2025年01月31日怎么在docker上构建私有云IDE和devops构建链

本篇内容介绍了"怎么在docker上构建私有云IDE和devops构建链"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

群晖docker上搭建gitlab

我用的是2019.2.2号左右dockerhub上sameersbn/gitlab的GitLab Community Edition 11.7.0(在他的镜像中,7.4.3之前版本,镜像里包含所有组件,7.4.3版本镜像里只包含核心组件:nginx、sshd、ruby on rails、sidekiq),不要下载官方的gitlab/gitlab-ce,那个镜像里内内置了postgresql数据库。启动时占用内存过大。而且不正交。由于这个镜像很大,外网线路下载起来很费事,容易中断,我们可以利用上ss的方法,在windows上开一个允许局域网连接。然后在群晖控制面板->你当前使用的网络界面中配置一个代理服务器。之后下载就会快多了,下载完全后,同时下载redis:latest,这样postgresql9.5,redis,gitlab镜像都有了。先启动postgresql和redis的实例。

再开启一个sameersbn/gitlab的实例,link到postgresql9.5:别名postgresql,redis:别名redisio,80容器端口映到8001,因为主机群晖占用了80。增加几个环境变量,

GITLAB_SECRETS_DB_KEY_BASE=随便写GITLAB_SECRETS_SECRET_KEY_BASE=随便写GITLAB_SECRETS_OTP_KEY_BASE=随便写

启动,gitlab会自动连接postgresql,发现容器退出,查看日志后发现,FATAL: role "root" does not exist,数据库中没有root用户,这是因为gitlab实例对postgresql实例的数据库有root检查,及其它一些硬性配置上的要求。下面这些做:在群晖的web版进postgresql1实例的终端机界面(点新增会自动打开一个bash终端)新建一个root用户并赋于权限。

su - postgrespsqlcreate user root with password 'password';ALTER ROLE root WITH SUPERUSER;此时再尝试启动应该没有上述错误了。但又退出,且提示psql: FATAL: database "gitlabhq_production" does not existCREATE USER gitlab WITH PASSWORD 'password';CREATE DATABASE gitlabhq_production OWNER gitlab;GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production TO gitlab;\q

最终启动成功,发现内存维持在1G多比gitlab/gitlab-ce少很多,打开群晖ip:8001,会提示让你修改root的密码,这个root是gitlab用户的不是postgresql的。用root和这个密码登录,进群晖ip:8001/admin/。

现在可以在上面建立repo,clone的界面上显示的是localhost,你需要额外加二个启动环境参数来定制这里显示为localhost的部分,另外如果你想导出各种volumes,参照ellie关于权限的处理方法就行。

最后,然后进admin/runners查一个token,备用。

在群晖docker上安装gitlab ci for docker

这里的坑有点多。

首先不要下载sameersbn/gitlab-ci-multi-runner:latest(gitlab/gitlab-runner也是multi的),这个版本太老,启动后link到一个别名为gitlab的第一步安装的gitlab实例,sameersbn的runner是可以定义环境变量注册的

RUNNER_TOKEN:上面的tokenCI_SERVER_URL:http://link到的gitlab别名:80到主机的转发端口/ciRUNNER_DESCRIPTION:随便填RUNNER_EXECUTOR:这个暂时先填shell

虽然方便,然而我尝试了下这种方法在上述sameersbn/gitlab-ci-multi-runner版本中根本无法使用,一直提示404,PANIC: Failed to register this runner. 404,PANIC: Failed to register this runner. Perhaps you are having network problems

我们下载同gitlab版本的gitlab/gitlab-runner:v11.7.0,启动后link到第一步安装的gitlab别名gitlab,然后进终端机用命令行方式注册runner到CI:

像上一个方法一样新建一个bash,会进入/home/gitlab_runner中,打入gitlab-runner register会提示输入六个选项的参数。依次是:

url:这个填http://gitlab/ciregistration-token:这个填第一步获取备用到的那个tokenexecutor这里填dockerdocker-image这里我可以按需求填alpine:3,这个有什么讲究呢?这什么选这个呢?预置的有什么用呢?其实这是构建Docker image时填写的image名称,根据项目代码语言不同,指定不同的镜像。description随便填tag-list这里填v1170

所以你看出来了,以后devops的触发主要是由其中对应到这里的tags来触发,docker ci build的原理其实就是以某docker image为虚拟机,在里面一层一层构建fs,然后叠加成最终镜像,这里的docker-img即为那个虚拟机。

所以docker image加tag的组合可以根据很多不同目的来定义多个多用。

"怎么在docker上构建私有云IDE和devops构建链"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

镜像 实例 版本 别名 方法 提示 不同 数据 数据库 环境 用户 界面 终端 私有 主机 内存 内容 参数 变量 容器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 济南恒泽网络技术有限公司 奇安信网络安全认证助理工程师 高中信息网络技术基础 爱普生服务器断开怎么再链接 小学生网络安全宣传美篇 20 30岁就业数据库 深圳星辰互联网科技 古交软件开发哪家性价比高 网络安全都考什么证 神经网络技术 生物原型 为啥叫x86服务器 菲律宾服务器有什么优缺 java数据库事务监听器 成都网络安全课程就业待遇 计算机网络技术的证书考试 扬州网络营销软件开发业务流程 全性能专用网络服务器 单招计算机网络技术热门么 法院开展网络安全宣传周 海淀区信息化软件开发服务电话 网络安全七要点 中国服务器的商品是正品吗 违反网络安全法第35条规定 软件开发相关成本有哪些 大连软件开发工资一般多少 怎么买一份网络安全人的学习资料 杭州电脑软件开发大概要多少钱 无需数据库隐私 溥仪互联网科技 海关数据库简介
0