CD介绍
| CD(持续交付,持续部署) 持续交付:将代码交付给专业的测试团队去测试 持续部署:将测试通过的代码,发布到生产环境 |
实现持续交付持续部署
安装Jenkins
| 官网:www.jenkins.io/zh/blog/201… |
docker-compose.yml
| version: 'v2.2.2' services: jenkins: image: jenkins/jenkins restart: always container_name: jenkins ports: - 8888:8080 - 50000:50000 volumes: - ./data:/var/jenkins_home |
运行容器
| docker-compose up -d --build |
第一次运行时,会因为data目录没有权限,执行下面命令后重新运行容器
| chmod 777 data |
安装成功后访问:http://106.55.229.11:8888/
这个时候会弹出输入密码的页面,通过查询日志方式输入密码:
| docker-compose logs -f |
输入密码后会出现一个让你选择安装插件的页面,点击选择安装插件;
搜索git后,勾选git Parmeter
搜索publish,勾选 Publish Over SSH
安装时间比较慢,安装完成后设置账户密码;
配置目标服务器及Gitlab免密码登陆
流程: gitlab → jenkins → 目标服务器
Jenkins去连接目标服务器
jenkins安装后首页地址:http://106.55.229.11:8888/
Manage Jenkins → Configure System -->Publish over SSH 设置 登陆gitlab机器的账户和密码
配置gitlab免密码登陆
- 登陆Jenkins容器内部
- 输入生成ssh密钥命令
| ssh-keygen -t rsa -C "407922583@qq.com" |
- 将密钥复制到gitlab的ssh中
手动拉取gitlab项目
使用SSH免密码连接时,第一次连接需要手动确认
进入jenkens容器
| docker exec -it jenkins容器ID bash |
| git clone http://106.55.229.11/root/go_web_demo.git |
第一次拉取项目时会有提示,输入yes即可,拉下代码后,删除刚拉取的代码,重新用jenkins任务构建来拉取