您现在的位置是:首页 > 文章详情

gitlab持续集成部署(CI/CD),使用docker配置gitlab-runner

日期:2018-03-28点击:421

gitlab持续集成部署(CI/CD),使用docker配置gitlab-runner

无互联网环境下,在外网docker pull [image],docker save [image] > [image].tar,在局域网下docker load < [image].tar
创建gitlab-runner容器:

sudo docker pull gitlab/gitlab-runner
sudo docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest

将gitlab上的项目注册到gitlab-runner中:

sudo docker exec -it gitlab-runner gitlab-ci-multi-runner register

输入上述命令后会有一系列的配置需要输入,当然也可以设置完后进行更改

按照提示输入即可,前两项可以在指定项目设置中CI/CD选项里的Runners settings选项中的Specific Runners里看到,tags是gitlab-ci.yml文件中所要用到的,executor我们输入docker

配置成功后,我们可以在设置中CI/CD选项里的Runners settings选项中的Specific Runners里看到runner信息
下面就是编写.gitlab-ci.yml配置文件:(下面是一个例子,参数官方文档都有介绍)

image: node before_script: - eval $(ssh-agent -s)  - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null  - mkdir -p ~/.ssh  - chmod 700 ~/.ssh  - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts  - chmod 644 ~/.ssh/known_hosts  stages: - build  job_build: stage: build script: - npm config set registry=http://0.0.0.0:7001  - npm install  - npm run build  - ssh fay@0.0.0.0 "rm -r /home/fay/dev/nginx/html/;mkdir -p /home/fay/dev/nginx/html/;"  - scp -r /builds/fay/dist/* fay@0.0.0.0:/home/fay/dev/nginx/html/  only: - master  tags: - fay

before_script里我写的是连接远程服务器的配置,其中SSH_KNOWN_HOSTS、SSH_PRIVATE_KEY需要配置在项目设置CI/CD中Secret variables选项中,相关ssh-gen一定要注意,不要输入密码,不然自动部署的时候会卡在那里报错,SSH_KNOWN_HOSTS里要有记录远程服务器的信息,ssh-scan扫描一下目标地址就可以了记录在SSH_KNOWN_HOSTS里了。

原文地址http://www.bieryun.com/2516.html

原文链接:https://yq.aliyun.com/articles/573147
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章