创建自由模式的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) ``` 