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

这篇具有很好参考价值的文章主要介绍了Jenkins+Gitlab实现代码自动构建部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、环境准备
主机名 ip 安装软件
jenkins 192.168.75.149 jenkins
gitlab 192.168.75.147 gitlab
web 192.168.75.155 部署应用
二、jenkins服务器配置

1、生产公钥

[root@jenkins ~]# ssh-keygen 

(2)获取公钥信息
公钥信息在配置 Gitlab SSH Keys 时用到。
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
(3)获取私钥信息
私钥信息在配置 Jenkins Publish over SSH 时用到。
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
(4)复制公钥到应用服务器

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

1、创建示例项目 git-test
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
2、配置 SSH Keys
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
将jenkins的公钥复制过来,点击add key
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
3、配置 Access Token

jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
点击create按钮
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
将生成的 Access Token 记录下来,后面在配置 GitLab 凭据时用到:
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git

四、配置 Jenkins

1、安装插件

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

2、配置 GitLab 凭据

进入系统配置,点击【添加】添加凭据
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
选择Gitlab API token,输入从gitlab生成的token,输入ID,点击确定
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
输入gitlab的连接名称、连接地址,点击【Test Connection】测试成功后点击【保存】
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git

3、配置 Publish over SSH

进入系统配置,配置 Publish over SSH,输入jenkins的私钥
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
4、配置 SSH Servers

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

注意:配置 Jenkins SSH Servers 时,Remote Directory 设为 “/”,如果不设置,文件会默认拷贝到 /root 目录下
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
5、创建任务

点击“新建任务”,创建任务 pipeline-test,选择自由风格的软件项目
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
6、配置任务

(1)配置git

输入gitlab的地址和凭证(我用的是用户名和密码的)
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
(2)构建触发器

jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
点击高级,点击Generat生产token
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
(3)构建

选中“Send files or execute command over SSH”
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
(4)jenkins其他配置

勾选匿名用户具有可读权限
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
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[@]}" "$@",保存退出,重启容器即可

jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
取消勾选Enable authentication for ‘/project’ end-point
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git

五、配置 Gitlab Webhook

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

jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
返回200则说明成功
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git

六、测试

修改代码并 push 到远程仓库

jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git
jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git

jenkins+gitlab自动部署,运维笔记,jenkins,gitlab,git

其他:需提前安装以下插件:gitlab hook-plugin,gitlab-plugin,gitlab文章来源地址https://www.toymoban.com/news/detail-575312.html

到了这里,关于Jenkins+Gitlab实现代码自动构建部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署(无本地证书,映射证书)

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月15日
    浏览(60)
  • Gitlab + Docker + Jenkins + Harbor实现自动化部署

    目录 文章目录 前言 一、第一台服务器--Jenkins 1、安装前 2、安装Jenkins 3、修改正在跑容器的端口 4、Jenkins内部插件和配置  二、第二台服务器--Harbor 1、安装docker-compose 2.安装及配置 3、卸载Harbor  4、Harbor启动后操作 三、第三台服务器--生产环境  1、配置私服地址 四、Jenkin

    2024年02月14日
    浏览(59)
  • Gitlab自动触发jenkins完成自动化构建 jenkins

     首先安装gitlab插件,我已经安装过了,首次请在 可选插件 中进行搜索。   进入项目配置--构建触发器: Build when a change is pushed to GitLab. GitLab webhook URL: 请复制此处的URL,后续有用。  然后点击高级   “Allowed branches”触发分支可以用默认的全部分支,也可以选择仅由指定名

    2024年02月16日
    浏览(63)
  • Jenkins自动化部署-GitLab拉取代码 配置ssh代码拉去方式的密钥(公私钥)

    Jenkins想要通过ssh方式拉去gitlab代码,则需要在在Jenkins服务器配置私钥,gitlab服务器配置公钥 使用root用户生成公钥和私钥 在/root/.ssh/目录保存了公钥和使用 id_rsa:私钥文件 id_rsa.pub:公钥文件 把生成的公钥放在Gitlab中 以root账户登录-点击头像-Settings-SSH Keys 复制刚才id_rsa.pu

    2024年04月10日
    浏览(55)
  • Jenkins + gitlab 自动部署

    作为后台开发,每次我们开发完或者修改一个bug后都要手动合并,打包或者连接服务器执行打包部署命令,每次手动操作,极大的影响了我们的开发效率,那么有没有一款工具能让我们只需要推送/合并代码到远端就能实现服务自动打包,发布,部署,通知呢。因此,今天介绍

    2024年02月12日
    浏览(61)
  • DevOps之Jenkins 集成 SonarQube 、Gitlab实现代码自动提交质量检测

    实验中相应服务的安装步骤略 准备相关服务器,并实现各个服务器的DNS解析 [root@ubuntu2204 ~]#cat /etc/bind/hailin.org.zone $TTL 1D @ IN SOA master admin ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS master master A 10.0.0.201 gitlab A 10.0.0.179 jenkins A 10.0.0.171 harbor A 10.0.0.201 sonarqube A 10.0.0.178 安

    2024年02月02日
    浏览(44)
  • 【运维知识高级篇】超详细的Jenkins教程1(安装部署+配置插件+创建自由风格项目+配合gitlab实现Jenkins自动触发)

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成的工具,用于监控持续重复的工作, 旨在提供一个开放易用的平台,使软件的持续集成变成可能,是持续集成的核心,可以与其他软件进行协作,例如,gitlab推送给测试环境代码,可以通过Jenkins省略步骤,实现自动

    2024年02月05日
    浏览(52)
  • 【Jenkins+Gitlab自动化部署配置】

    以下为整理当初参照的博客 阿里云云服务器 ECS 手动搭建GitLab避坑教程 博客文中的镜像源地址已换 Gitlab忘记root用户密码的解决办法 Gitlab学习笔记(一):基于Ubuntu的gitlab的私有服务搭建(超详细) Jenkins 构建报错:Couldn‘t find any revision to build. Verify the repository and branch conf

    2024年02月21日
    浏览(52)
  • Gitlab+Jenkins自动化部署,解放双手

    ​ 在部署项目前需要对源码进行打包,一个简单的SpringBoot项目默认是打包为jar包,也就是在pom.xml中的 packagingjar/packaging 方式,当然也会有一些打包成war包方式,使用外置的Tomcat应用服务器部署war包,那么就是 packagingwar/packaging 。 在父子类聚合项目中,父工程的 pom.xml 文件中

    2024年02月07日
    浏览(66)
  • 【运维篇】基于docker,jenkins结合gitlab做自动部署

    我的环境是windows系统,使用Docker Desktop制作了gitlab容器和jenkins容器,也可以在虚拟机上使用docker。 gitlab有镜像我们直接使用即可,jenkins镜像有一些环境没有,我们在它的基础上添加一些环境。 需要准备的文件比较多,我百度网盘共享一下。 链接:https://pan.baidu.com/s/1K7FD-ngQ

    2024年01月16日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包