Jenkins自動發布代碼實戰篇
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
一.Jenkins服務器配置秘鑰對並上傳到Gitlab中
1>.在Jenkins后端生成秘鑰對
[root@jenkins ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa Generating public/private rsa key pair. Created directory '/root/.ssh'. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: e1:75:1f:cf:18:02:5e:b7:16:99:14:75:56:73:ac:ad root@jenkins.yinzhengjie.org.cn The key's randomart image is: +--[ RSA 2048]----+ | . ..=BB| | . o .o+=| | . o o =o | | . o . +.*.| | S o.o| | E | | | | | | | +-----------------+ [root@jenkins ~]#
2>.查看服務端的公鑰和私鑰
[root@jenkins ~]# cat /root/.ssh/id_rsa.pub #查看公鑰 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwr6GMG0OYSWyLcraC4FGquTm9C+26a2/SdTysXOTiC6GpqYE9L57NgCSJSYWFalj+s/O6+LqHLY/ORi+LMmh4DtYSD4rUYo5NRd68B3lVs2JU8FqfCK/bJR+Sy/SxDAtKfrP/8gPM+4saB9JXUaljavhwIsyqMJxLkbwmDsdYmf4MHjMoHA4k8qECYKfvL7mep3Cglh0U4dQTubVvjmN/f6oKX7l7yVe+DoSImPyYae16+8AOe0v8+hiL5zB8eBBuCJZfXT/ZQbp5pAWxNCiiHsLI9VQhjsmsLS+bpgEvnCDqbVuXhrYXaLrQDm2EG2YwU1YSES6gJrvs5OkMbwXr root@jenkins.yinzhengjie.org.cn [root@jenkins ~]# [root@jenkins ~]# [root@jenkins ~]# cat /root/.ssh/id_rsa #查看私鑰 -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAsK+hjBtDmElsi3K2guBRqrk5vQvtumtv0nU8rFzk4guhqamB PS+ezYAkiUmFhWpY/rPzuvi6hy2PzkYvizJoeA7WEg+K1GKOTUXevAd5VbNiVPBa nwiv2yUfksv0sQwLSn6z//IDzPuLGgfSV1GpY2r4cCLMqjCcS5G8Jg7HWJn+DB4z KBwOJPKhAmCn7y+5nqdwoJYdFOHUE7m1b45jf3+qCl+5e8lXvg6EiJj8mGntevvA DntL/PoYi+cwfHgQbgiWX10/2UG6eaQFsTQooh7CyPVUIY7JrC0vm6YBL5wg6m1b l4a2F2i60A5thBtmMFNWEhEuoCa77OTpDG8F6wIDAQABAoIBACTUZ2tKH5v16i9j ORIs6jkZJST4AJT0YjnPgFc5gehwnkE8eRkk/Qg/Jt6LOc7mrShioHKf+FnHMIvB 65Ura8Vi6lKXdMvyw1DuOJCfSjaIDv4/n9Q4vleC9ILoCtiA9zWPFbxLWWl4IbXK XZkgB5wWpzTQvDLZsSq7dSnFuN4J2pjR63SJkZCJRgy5g4qpNTH6jzo2D4Q3X/lF toN6n95He/2yAKRs1eJsvJWn33gnNQbMvKMbtialqQGy476XZomnBjlE2LKj4Kyz SrIzoJRi1Qq/34vNdDT+ycIvYZmZUo4aOG9QiwykcuxAhbbrrMjtYfMGPpm6KHLA GbyPQ7kCgYEA5NM9LqY993ie0EjKsIVjptAxHSzh6/BmqFPxXyDpsoZxARR3SCiG c8sEsFH0zRfF+TS8dza5LVN6tnh+xZcatofbrs+ZIou0oV2+nU46ZO7xBR5ha9rh mzyEJnypCEdckPMR/Fh9hbl0KEGxK5b6ZZqfcaC4Vr1LLdlASKB2JbUCgYEAxatB S78IYbQ9Dfv86ok1j4hv+C0gJ7rnqz2Mj+1wZtKUGUgZdXVqFm27nDZobEr6BXCL 8IbMFZXhgm6iM6llRopN0Dm2jDZ42oIe39KjXF7EsrYpDJ41ZgJQxv1sU4gdwOMV w3lChmCzYtBDP2z2W1Qq6Ln6Ra5pDbG83czHwR8CgYB3Mp6tXUXsUrYP88s59tI5 RDxBYW7yc9FWIBwdHM0ABU56bInSWeHoEbqIirjF2Xt0XIdMZoJB3TmQMeZ/0T3G FbFXN6ciurnGUUoJMYXzrBB7RR8kiul47yY70jZPLLVIgIY++G2yqi+bBNVgyo33 PXuPOlSsQoEWChSVgJjq/QKBgQCA1zBXS+wNqyqEm/Ptd4O2y6qX6+nim5v3bMXa 5lv2WVl45RrbCa4dcmbv2jLUK0auFv7Pxzzs8OWtW6lT3R0LDojLqWKIH9VEL74q C6S5R3gUOFGnTNPnaqj2Gybph3ZFTH7aC4bGCe/C/5ZlmAM34jOZv+cWVilZaLl/ JMQq5wKBgQC41olS3GTRuPdNoZCI9rWaR30XafVv3EV7XmAnytNJGJv/VY00a1fk fXWIUTG/AYQ932qBZQ/PL9eobtuvrZxRj7Xt8p6O6ERRk4mqRERHF+E6yEFdzKef rXfkvpqaZ63aTLjeolEiVO/Vud6ZEcc6UkpBnajgN1e5vapXARL9pA== -----END RSA PRIVATE KEY----- [root@jenkins ~]#
3>.將Jenkins服務器端的公鑰上傳到GitLab中
二.Jenkins關聯GitLab的WebUI界面配置
1>.創建新任務
2>.編輯任務名稱
3>.源碼管理選擇git,並將git的地址填寫為GitLab的地址
4>.將Jenkins服務器端的私鑰上傳到Jenkins的webUI中
5>.關聯GitLab
三.小試牛刀-使用Jenkins執行shell命令
1>.在Jenkins服務端創建測試目錄
[root@jenkins ~]# mkdir -p /home/yinzhengjie/data/jenkins/www [root@jenkins ~]# [root@jenkins ~]# chown -R jenkins.jenkins /home/yinzhengjie/data/jenkins/www/ [root@jenkins ~]# [root@jenkins ~]# ll -d /home/yinzhengjie/data/jenkins/www/ drwxr-xr-x 2 jenkins jenkins 6 Sep 9 08:04 /home/yinzhengjie/data/jenkins/www/ [root@jenkins ~]# [root@jenkins ~]# chmod +x /home/yinzhengjie/ -R #這個執行權限必須得加,因為Jenkins默認是沒有訪問yinzhengjie用戶家目錄的權限喲! [root@jenkins ~]# [root@jenkins ~]# ll /home/yinzhengjie/data/jenkins/www/ total 0 [root@jenkins ~]#
2>.構建選擇-Execute shell
3>.自定義需要執行的shell命令(溫馨提示:Jenkins默認的工作目錄是:/var/lib/jenkins/workspace/,如果之前沒有執行任務,workspace默認是不存在的,當執行第一個Jenkins任務時自動創建)
4>.運行任務
5>.Jenkins任務執行成功后查看服務器端測試目錄是否有數據
6>.成功執行任務后,我們會發現在服務器端會生成“/var/lib/jenkins/workspace/”目錄
四.Jenkins執行任務的具體步驟
1>.點擊項目名稱
2>.查看編譯的歷史
3>.查看控制台輸出
4>.