Jenkins+Gitlab实现代码自动构建部署

一、环境准备
主机名ip安装软件
jenkins192.168.75.149jenkins
gitlab192.168.75.147gitlab
web192.168.75.155部署应用
二、jenkins服务器配置

1、生产公钥

[root@jenkins ~]# ssh-keygen 

(2)获取公钥信息
公钥信息在配置 Gitlab SSH Keys 时用到。
在这里插入图片描述
(3)获取私钥信息
私钥信息在配置 Jenkins Publish over SSH 时用到。
在这里插入图片描述
(4)复制公钥到应用服务器

[root@jenkins ~]# ssh-copy-id 192.168.75.155
三、配置 Gitlab

1、创建示例项目 git-test
在这里插入图片描述
2、配置 SSH Keys
在这里插入图片描述
将jenkins的公钥复制过来,点击add key
在这里插入图片描述
3、配置 Access Token

在这里插入图片描述
点击create按钮
在这里插入图片描述
将生成的 Access Token 记录下来,后面在配置 GitLab 凭据时用到:
在这里插入图片描述

四、配置 Jenkins

1、安装插件

进入“插件管理”,安装插件:GitLab、Generic Webhook Trigger、Git Parameter、Publish Over SSH,安装完插件重启系统

2、配置 GitLab 凭据

进入系统配置,点击【添加】添加凭据
在这里插入图片描述
选择Gitlab API token,输入从gitlab生成的token,输入ID,点击确定
在这里插入图片描述
输入gitlab的连接名称、连接地址,点击【Test Connection】测试成功后点击【保存】
在这里插入图片描述

3、配置 Publish over SSH

进入系统配置,配置 Publish over SSH,输入jenkins的私钥
在这里插入图片描述
4、配置 SSH Servers

输入应用服务器的ip和用户名,点击测试,成功之后点击保存

注意:配置 Jenkins SSH Servers 时,Remote Directory 设为 “/”,如果不设置,文件会默认拷贝到 /root 目录下
在这里插入图片描述
5、创建任务

点击“新建任务”,创建任务 pipeline-test,选择自由风格的软件项目
在这里插入图片描述
6、配置任务

(1)配置git

输入gitlab的地址和凭证(我用的是用户名和密码的)
在这里插入图片描述
(2)构建触发器

在这里插入图片描述
点击高级,点击Generat生产token
在这里插入图片描述
(3)构建

选中“Send files or execute command over SSH”
在这里插入图片描述
在这里插入图片描述
(4)jenkins其他配置

勾选匿名用户具有可读权限
在这里插入图片描述
Error 403 No valid crumb was included in the request 报错解决 容器化jenkins关闭CSRF
参考链接:
进入jenkins容器修改/usr/local/bin/jenkins.sh脚本,将原来的exec java -Duser.home="$JENKINS_HOME" ${FUTURE_OPTS} "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"改为
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@",保存退出,重启容器即可

在这里插入图片描述
取消勾选Enable authentication for ‘/project’ end-point
在这里插入图片描述

五、配置 Gitlab Webhook

进入gitlab项目,选择webhook,填写jenkins上的地址和token保存即可

![在这里插入图片描述](https://img-blog.csdnimg.cn/8a14c15597254edbbcb484c42a8f4eb1.png
在这里插入图片描述
返回200则说明成功
在这里插入图片描述

六、测试

修改代码并 push 到远程仓库

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

其他:需提前安装以下插件:gitlab hook-plugin,gitlab-plugin,gitlab

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值