01-Jenkins前置配置

简介: 本文介绍Jenkins与GitLab集成的前置配置步骤,包括在GitLab创建Jenkins账号并配置SSH密钥、在Jenkins中设置GitLab API Token、关闭Host Key验证、配置全局Git信息及凭据。同时说明了节点服务器环境准备,如部署JDK、Maven、Node.js及Docker,并配置SSH连接与远程工作目录,确保Jenkins可拉取代码并执行构建任务。

01-Jenkins前置配置

Jenkins配置系统的代码位于gitlab上,当Jenkins安装了gitlab插件、git插件之后可以很方便的连接上gitlab(在Jenkins部署文档中安装的插件已经包含了gitlab插件和git插件)。gitlab创建账号使用管理员登录gitlab,创建账号 jenkins,并赋予相应权限,用于在 Jenkins 中使用该账号拉取代码。gitlab上配置SSH密钥在docker服务器上进入Jenkins容器:

进入容器后,生成公私密钥对:使用前面创建的jenkins账号登录gitlab,进入 用户设置 - SSH密钥 - 添加新密钥,将刚刚生成的.id_rsa.pub文件内容(公钥)粘贴进来,标题可以任意起,到期时间清空。Jenkins上配置不验证gitlab的host key首次连接时,Jenkins的know_hosts中没有gitlab地址,如果验证host key则可能会校验失败。可以配置不验证host key:使用admin登录Jenkins进入 系统管理 - 全局安全配置找到Git Host Key Verification Configuration,将Host key验证策略改为No verification不验证Jenkins上配置gitlab api token使用jenkins账号登录 gitlab,进入 用户管理 - 访问令牌 - 添加新令牌:令牌名称可以任意起到期时间清空选择为token授权范围,如果不清楚直接都勾上即可。点击创建个人访问令牌页面会显示创建出来的token字符串,将该token复制出来等会用。使用admin登录 Jenkins ,进入 系统管理 - 凭据管理 - System - 全局凭据 - add Credentials新建一个凭据:类型:Gitlab API Token范围:全局API Token:前面复制的token字符串ID:任意起,例如叫做gitlab-jenkins进入 系统管理-系统配置,找到GitLab项,配置Gitlab连接:Connection name:任意起,例如docker-gitlabGitlab host URL:填写GitLab的URL(http://192.168.xxx.xxx:8090/)Credentials:选择刚刚创建的GitLab API Token点击Test Connection验证是否连通。jenkins配置git用户名和邮箱使用admin登录 Jenkins ,进入 系统管理-系统配置,找到Git plugin项,配置git用户名和邮箱:Global Config user.name Value:配置git的user.name,配置为jenkinsGlobal Config user.email Value:配置git的user.email,配置为jenkins@amarsoft.comJenkins上配置jenkins服务器的私钥Jenkins上创建自己的私钥凭据,用于jenkins任务从gitlab上拉取代码。使用admin登录 Jenkins ,进入 系统管理 - 凭据管理 - System - 全局凭据 - add Credentials新建一个凭据:类型:SSH Username with private key范围:全局API Token:前面复制的token字符串ID:任意起,例如叫做gitlab-jenkins-privateUsername:jenkins(jenkins容器中的服务器用户名)Private Key:勾选Enter directly添加key将Jenkins容器中之前创建的公私钥对的私钥粘贴进来(即id_rsa文件内容)节点服务器配置节点服务器环境准备在节点服务器上创建/root/.jenkins文件夹,作为Jenkins的远程工作目录。Jenkins服务器会给该文件夹发送两个jar包用于远程连接。在节点服务器上创建build文件夹,用于存放打包编译等所需的环境。build文件夹内需要有:JDK 17 解压版安装包:用于连接上Jenkins服务器JDK 8 解压版安装包:用于编译程序项目Node-v12 解压版安装包:用于编译前端VUE项目maven-3.6.3 解压版安装包:用于编译程序项目。(maven需要在settings.xml中配置好内网的nexus私仓路径、本地仓库路径)mvn-repo文件夹:作为maven的本地仓库路径,存放maven下载的jar包source文件夹:用于存放从gitlab上拉取的代码配置Maven环境变量:新建文件/etc/profile.d/maven.sh,写入Maven环境变量:

1

2

3

4

export MAVEN_HOME=/root/build/apache-maven-3.6.3

export M2_HOME=/root/build/apache-maven-3.6.3


export PATH=$M2_HOME/bin:$PATH

另外,项目使用Jenkins打包编译之后会制作Docker镜像,所以项目的节点服务器需要安装配置好docker环境。Jenkins配置节点服务器正常的创建节点服务器。使用admin登录Jenkins,进入系统管理-节点和云管理-New Node,创建一个节点:节点名称:可以任意起,最好起一个方便识别服务器IP的,例如直接用服务器IP:192-168选择固定节点Number of executors配置为1,防止一台服务器并发执行多个任务时出现冲突远程工作目录/root/.jenkins标签:配置为方便识别的标签,后面配置项目时可以根据服务器标签选择在哪个服务器上执行。myproject_dev用法:只允许运行绑定到这台服务器上的JOB启动方式:Lauch agents via SSH(需要安装了SSH对应插件才有该选项,前面安装的插件包中已经包含了该插件)主机:服务器IPCredentials:登录的凭据,如果已经创建过则直接选,没有创建过则新建。可以选择新建一个Username with Password的,直接配置服务器用户名密码即可。Host Key Verification Strategy:配置为不验证Host点开高级,在Java路径上配置上节点服务器的JDK 17路径 /root/build/jenkins/jdk-17.0.12/bin/java可用性:尽量保持代理在线(默认)创建之后,点击查看日志,看是否连接成功。

相关文章
|
4月前
|
SQL Java 关系型数据库
MyBatis 动态 SQL 详解:灵活构建复杂查询条件
MyBatis提供强大的动态SQL机制,通过`<if>`、`<where>`、`<foreach>`等标签实现条件判断、循环拼接,避免手动字符串处理。支持智能WHERE、SET生成,兼容多数据库模糊查询,提升代码安全性与可维护性,适用于复杂查询、批量操作等场景。
|
1月前
|
JavaScript
限制F12网页调试,实现按下F12自动关闭网页或跳转到其他指定页面
本文提供两段JS代码,用于防范网页被F12调试:一段触发后自动关闭当前页或跳转至空白页;另一段则强制跳转至指定URL(如个人博客)。通过监听console行为与窗口尺寸变化实现检测,适用于基础防调试场景。(239字)
206 2
|
监控 jenkins Shell
jenkins结合gitlab实现CI(持续集成)
通过本文的介绍,我们详细了解了如何结合Jenkins和GitLab实现持续集成。从环境准备、插件配置到Pipeline任务创建和CI流程监控,每一步都提供了详细的操作步骤和示例代码。希望本文能帮助开发者快速搭建起高效的CI系统,提高项目开发效率和代码质量。
1480 9
|
5月前
|
关系型数据库 数据库 数据安全/隐私保护
使用Docker和docker-compose部署SonarQube的流程
使用Docker和docker-compose部署SonarQube提供了一种快速启动并运行代码质量分析工具的方法。它易于管理,对系统的配置依赖小,而且可以很容易地进行微服务架构的整合。通过上述步骤,您可以确保一个SonarQube的稳定、可重复的部署流程,其可以轻松地搬移到其他环境,以实现开发、测试和生产的一致性。
552 13
|
监控 JavaScript 前端开发
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
941 12
|
jenkins 持续交付 网络安全
利用 Jenkins 实现持续集成与持续部署-代码拉取终端的配置
安装Git、配置用户信息、生成SSH密钥以及在Gitee上创建项目仓库等。
401 0
|
存储 Java API
一篇文章讲明白luauserdata
一篇文章讲明白luauserdata
623 0
|
自然语言处理 数据安全/隐私保护 开发者
wikijs的基本操作-网站配置和用户管理
wikijs的基本操作-网站配置和用户管理
|
Go 开发者
详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等
详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等
558 0
详细介绍 Go 语言的命名规范,包括标识符、包名、变量命名、函数命名等
|
Kubernetes 数据可视化 Cloud Native
Argo CD 【1】介绍与入门
Argo CD 【1】介绍与入门
Argo CD 【1】介绍与入门

热门文章

最新文章

下一篇
开通oss服务