码迷,mamicode.com
首页 > 其他好文 > 详细

gitlab + jenkins 自动部署

时间:2019-12-06 09:44:11      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:jenkins   start   star   容器   连接   克隆   ppi   for   复制   

一。安装gitlab 和 jenkins

直接克隆项目

git clone git@gitee.com:GH16/devops.git

进入项目,直接运行, 等待五分钟左右部署(显示出错也会重启继续初始化)

?  ~ cd devops 
?  devops git:(master) ls
README.en.md       docker-compose.yml jenkins            stop.sh
README.md          gitlab             start.sh
?  devops git:(master) bash start.sh 

浏览器输入 http://127.0.0.1:10080 先创建root用户的密码

技术图片

登陆成功后 settings->preferences->language 可设置中文,接着配置ssh密钥

技术图片

 配置完ssh密钥后,创建项目

技术图片

 创建成功后克隆项目

技术图片

?  ~ git clone ssh://git@localhost:10022/root/test_gitlab.git

进入项目,修改文件

?  ~ cd test_gitlab 
?  test_gitlab git:(master) ls           
README.md
?  test_gitlab git:(master) cat README.md 
# test_gitlab

?  test_gitlab git:(master) echo 1 > README.md 
?  test_gitlab git:(master) ? cat README.md 
1
?  test_gitlab git:(master) ? 

提交测试是否成功

?  test_gitlab git:(master) ? git commit -am 1
?  test_gitlab git:(master) git push

gitlab上查看,已经提交成功

技术图片

 然后浏览器输入 http://127.0.0.1:18080 ,用户 admin , 秘密 12345678 登陆(可自行更改),创建任务

技术图片

 选择 自由风格 项目,然后创建

技术图片

 接着源码选 git , Repository URL 为需要部署的项目地址,这里输入http://gitlab/root/test_gitlab.git (这里需要输入容器内部的地址)

 Credentials 点击添加,可以选择gitlab的用户和密码,也能用ssh等,然后点击添加的左边选择刚刚添加的用户  

技术图片

 接着 构建触发器 ,选 Build when a change is pushed to GitLab ,里面的其他选项可以不动,Secret token 里点击Generate生成 , 然后保存 技术图片

 接着点击jenkins的设置->全局设置,找到 gitlab 的设置

技术图片

 Connection name 链接名称随便填

Gitlab host URL 需要填gitlab的主机地址,就是访问gitlab的地址,这里输入 http://gitlab (容器里面的地址)

Credentials 同上面一样点击添加,此时类型需要选择gitlab API token

然后到gitlab,点击设置

技术图片

然后访问令牌

 技术图片

创建一个 api 的令牌

 技术图片

复制这个令牌

 技术图片

回到 jenkins 的添加,API token 就输入上面的令牌,点击添加

 技术图片

接着点击添加的左边,选择刚刚创建的API,然后点击下方的 test connection, 测试连接成功,然后点击保存。

技术图片

  到gitlab点击管理中心,顶部最右边

技术图片

接着点击系统钩子

技术图片

 URL里输入 jenkins 里 构建触发器的地址,即 http://jenkins:8080/project/test_jenkins

技术图片

 Secret Token 里输入 jenkins 里构建触发器的Secret token,即 e1135d5424f80e82ceccbb962028a11a

技术图片

  然后选择push events, 最后点击添加钩子

技术图片

 最后测试是否成功,在test_gitlab里修改文件添加

?  test_gitlab git:(master) ls
README.md
?  test_gitlab git:(master) cat README.md 
1
?  test_gitlab git:(master) echo 2 > README.md 
?  test_gitlab git:(master) ? cat README.md 
2
?  test_gitlab git:(master) ? git commit -am 2       
?  test_gitlab git:(master) git push

查看jenkins已经自动构建完成 

技术图片

 进入test_jenkins项目,点击工作区

技术图片

gitlab里的代码就自动同步到这个文件夹了 

技术图片

接着就是部署web服务器的路径指到这个文件夹,或者做其他的处理。

ctrl + c 取消 start.sh ,接着停止容器

^CGracefully stopping... (press Ctrl+C again to force)
Killing devops_gitlab_1             ... done
Killing devops_jenkins_1            ... done
Killing devops_gitlab-postgresql_1  ... done
Killing devops_gitlab-redis_1       ... done
?  devops git:(master) ? bash stop.sh 
Removing devops_gitlab_1            ... done
Removing devops_jenkins_1           ... done
Removing devops_gitlab-postgresql_1 ... done
Removing devops_gitlab-redis_1      ... done
Removing network devops_default
?  devops git:(master) ? 

 

 

 

 

 

 

gitlab + jenkins 自动部署

标签:jenkins   start   star   容器   连接   克隆   ppi   for   复制   

原文地址:https://www.cnblogs.com/GH-123/p/11986465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!