jenkins + gitlab 构建自由风格的任务

创建自由模式的jenkins任务

192.168.88.102 jenkins 所在服务器

root@hadoop .ssh# sudo groupadd jenkins

root@hadoop .ssh# sudo useradd -r -m -d /var/lib/jenkins -s /bin/bash -g jenkins jenkins

root@hadoop .ssh# sudo passwd jenkins

Wang#1234 密码复杂度要符合要求

root@hadoop .ssh# su jenkins 切换用户

jenkins@hadoop home$ sudo -u jenkins ssh-keygen -t rsa -b 4096 -f /var/lib/jenkins/.ssh/id_rsa -N "" 重新生成公钥私钥

Generating public/private rsa key pair.

Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.

Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:XcAQa/v9xTj0KVNbOGecjXB2yEgX5Ol5eCigKgihRAg jenkins@hadoop

The key's randomart image is:

+---RSA 4096----+

|E. o+. ..+. |

|o ..o = o |

|.. o . + B .|

|o. . + o = Oo|

|o S . . XoO|

| . . . . . o.X+|

| . . . . .ooo+|

| . .oo |

| . |

+----SHA256-----+

jenkins@hadoop home$ cd /var/lib/jenkins/.ssh/

jenkins@hadoop .ssh$ ll

总用量 12

-rw------- 1 jenkins jenkins 3243 1月 14 02:23 id_rsa

-rw-r--r-- 1 jenkins jenkins 740 1月 14 02:23 id_rsa.pub

-rw------- 1 jenkins jenkins 668 1月 13 15:56 known_hosts

cat id_rsa 查看私钥,将私钥拷贝黏贴到 下图所示的private key 中

-----BEGIN RSA PRIVATE KEY-----
MIIJJwIBAAKCAgEAkmDQW/NFCHen7d/VmpbyAEvelRj7QmB7wpzmeu+3BKhw67PI
V2Yta6cgw469nyJAHcMDRQ9h0BwxLBVff0hrAE/XtbWBkWH247pVN6TlSKlPRwII
GUyd/GvdOsbQ+hfJMbdm3ccC6/1D+jhMcetNZ1BWWPrzZ0ncT/YskUvZ48rWbT3N
ziG0EwA0ZLjLI4WfYP4i6MBuqyVPCC3wuDX3W3pteF9Q9ywyyPcrnlNtXm8+54wO
RzP8xDiDuhvsH9A+fVCAHRCb/Pafxz6c4h/z5OcOnVsMOoJ1puWm2+aLz6lbGq8T
wRxKllg1UEOOumHwdij7V5zrV3dA5qeffurL96YgbsbirccVrbAQG2ohWOLXG+/B
lCosBzrqr9OTA08P46yTHJ4W219KzjrbD5IBqP8Fo4rL6d/UTh0RSYvvW2qpYjei
4PmOC1IfhrMnUWtfqoxLBa9SYZwgc3/YQ28fm8tBntgHnltuh++D3hP8jVeY9G/X
bjNfy1yoJcQ+NwKCAQEAwPVtiAFgNvFF24+lMS2eejHQFp/lvbBJhLS8y0RjuYBA
cfQ+jHd9ttlZOCDH5cDehpVcfvQikzX7Axaa+WiAbAtXP79ceLZX1ILxEpxBU7+p
kkaEOq/OG8vARSFZPnVVmt4BqagB8t01Afl31HnqFrbO7ltoVvRmedF/JDgTOLAf
B8zdobz2uAQQWh1XMrPgdmQSiZr7VEU0RpGwrRaH3eR9u4CFoYfCES5q9OOgg0iG
pGytoj+NuoYd2p94sCdkSGfCNCNv9BrXK7NcLVSSDzDIcSUUVFbbuIts9EOBdKOU
CkeeAkvYp6gvOBGFehlAIl1/C6kYThSySbSgWhQpDQKCAQBmgEeffv13+YohOx8Z
jZkF5P4FoNWYPKendSBHbSRcWnXn3GbWg1GJBrFui3343fMWDHTZ3iDhYygz7Vxh
Qxu3qdUhKmM/4OErQ7NzkYeIL8SDVGIgS9WoqsrBKg4QDQzWhwwMd3tAKmu7Ja2I
HkQmLcXNiTRDN7ZUuIa4nBsuXSoUXRUabgpT5hc7JyYwqzAz7dgY4O00g82rYgdg
CYbVERb+MY7X5eIg7opLBch/NT6AYXsnjKJvkg2Zq8DTLGmdHWWwnmrUFbQVIXv4
UXQKPxh20VkuF9JfaTt//i0XY5s7OG+fPMasTGR4rTehLWbyMt18j72bTQ==
-----END RSA PRIVATE KEY-----

id 是自动生成的不用填

描述:起一个自己能识别的名字

username 是jenkins 所在服务器上,创建的jenkins用户

cat id_rsa.pub 查看公钥

将公钥拷贝到gitlab 对应项目下的SSH key 配置项中

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCSYNBb80UId6ft39WalvIAS96VGPtCYHvCnOZ677cEqHDrs8hXZi1rpyDDjr2fIkAdwwNFD2HQHDEsFV9/SGsAT9e1tYGRYfbjulU3pOVIqU9HAggZTJ38a906xtD6F8kxt2bdxwLr/UP6OExx601nUFZY+vNnSdxP9iyRS9njytZtPc3OIbQTADRkuMsjhZ9g/iLowG6rJU8ILfC4Nfdbem14X1D3LDLI9yueU21ebz7njA4jXhaZ2I3xKNg0Gye2xGl6+SbA2S8wxqZHB6Z3ogq8BpOgnWOwC9kkFrO8WenoLTGNWM7mG0514Qp2f3xTL23EI/2ZKvra+Q2qAHsh+9izmgmB3gNRUnBgfBSwx9rB3DxDfsT+3PDMtV5pNPffm2IKtf3RMYpOlnRD11dOsBrO605MOI2qTgQBSCEl9x3iRRw0+odagQO8ux5NbqSIqizn3yw== jenkins@hadoop

jenkins@hadoop .ssh$ systemctl start jenkins

jenkins@hadoop .ssh$ ps -ef | grep genkins

jenkins 63308 60452 0 02:29 pts/0 00:00:00 grep --color=auto genkins

jenkins@hadoop .ssh$ ps -ef | grep jenkins

root 60451 49834 0 02:21 pts/0 00:00:00 su jenkins

jenkins 60452 60451 0 02:21 pts/0 00:00:00 bash

jenkins 63197 1 73 02:29 ? 00:00:39 /usr/local/jdk-17/bin/java -jar /usr/share/jenkins/jenkins.war --httpPort=8080

jenkins 63606 60452 0 02:30 pts/0 00:00:00 ps -ef

jenkins 63607 60452 0 02:30 pts/0 00:00:00 grep --color=auto jenkins 说明启动成功

192.168.88.128 是gitlab 所在的机器

jenkins@hadoop .ssh$ git ls-remote -h git@192.168.88.128:emall-group/common.git HEAD 检查是否连接到gitlab 并且能访问分支

创建一个自由风格的jenkins任务

添加git 路径和私钥,并选择需要拉取的分支,保存

点击构建

查看控制台输出,最后显示success ,并且日志重打印出拉去的分支,说明jenkins + gitlab 自由风格的任务创建并执行成功,拉取到了对应的代码

复制代码
Verifying host key using known hosts file
 > git fetch --tags --progress git@192.168.88.128:emall-group/common.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/main^{commit} # timeout=10
Checking out Revision 49ae0507c4e11a96fb9c5744e84413215a569d28 (refs/remotes/origin/main)
相关推荐
X1A0RAN5 小时前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
Ningcode_cloud1 天前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins
姚永强1 天前
gitlab安装
运维·gitlab
tianyuanwo1 天前
Jenkins 邮件插件选型指南:从命名原理到场景实践
jenkins·plugin·email
姚永强1 天前
安装Jenkins
运维·jenkins
智能运维指南1 天前
2026研发管理平台选型指南:从“工具堆砌“到“研运一体化“的跃迁
servlet
成茂峰1 天前
实战:内外网隔离环境下基于 Jenkins + PowerShell 的自动化 CI 构建与邮件通知方案
ci/cd·自动化·jenkins
tianyuanwo2 天前
Jenkins Pipeline 沙箱与非沙箱:CPS、序列化与白名单的深度解读(含 `take()` 与 `subList()` 实战对比)
pipeline·jenkins·groovy·take·sublist
力江2 天前
GitLab 私有化部署实战 —— 从 Omnibus 到 Docker 的踩坑之旅
docker·容器·gitlab
马优晨2 天前
Spring Servlet 容器是什么、干什么用?
spring·servlet·内嵌servlet容器·java的内嵌servlet·spring内嵌servlet