gitlab持续集成部署(CI/CD),使用docker配置gitlab-runner
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里了。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云ECS服务器活动99元一年,最高可买三年
2018年6月3日更新,阿里云推荐有礼活动第二期:2018年6月2日-2018年6月12日。 赶紧上车~点我参加活动>>购买前领取阿里云幸运券,更有可能享受折上折的优惠。阿里云幸运券领取 阿里云推荐有礼活动自2018年03月28日开始到4月13日,1核 2G 1M带宽 40G SSD硬盘的ECS服务器仅99元1年。购买时长最少1年起,最长3年封顶。 必须有推荐人链接才能参与活动,如果不介意大家可以使用我的推荐连接。点击购买99元ECS服务器 一、活动对象 1、阿里云官网注册的个人实名认证用户。其中,新老用户均可作为拼团活动的推荐者,但只有未购买过云产品(即账号下无付费订单记录)的新用户方有资格参与拼团购买。 2、同一用户仅有一次参与拼团推荐或拼团购买指定云服务器的机会。例如:同一用户使用不同账号作为推荐者参与本活动的,仅首个参与活动的账号可获赠;在阿里云官网已有消费的用户重新注册新账号参与拼团购买的,新老账号将被视为同一用户,不具有购买资格。 二、活动时间 2018年6月2日-2018年6月12日。 三、活动规则 1、活动期间,推荐者可推荐新用户通过活动专属页面购买指定云服...
- 下一篇
Docker学习之搭建MySql容器服务
描述 MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法。用户可以选择RHEL和基于CentOS的图像。然后CentOS镜像可以在Docker Hub上以centos / mysql-56-centos7的形式获得。 用法 查找镜像: docker search mysql 获取镜像: docker pull docker.io/centos/mysql-56-centos7 如果您只想设置必需的环境变量而不将数据库存储在主机目录中,请执行以下命令: docker run -d --name app_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 docker.io/centos/mysql-56-centos7 如果你希望你的数据库在容器执行过程中保持持久性,请执行以下命令: # 创建数据存储目录 和配置文件目录 mkdir -p ~/home/mysql/data ~/home/mysql/cnf.d # 分别赋予读写权限 chmod +76...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果