jenkins安裝部署
war包安裝
#安裝依賴軟件
[root@jenkins ~]# yum install -y java-1.8.0-openjdk && mkdir -p /usr/local/jenkins
#啓動jenkins
[root@jenkins ~]# java -jar /usr/local/jenkins/jenkins.war &
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
#修改爲國內源
[root@jenkins ~]# vim .jenkins/hudson.model.UpdateCenter.xml
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
#kill %1,重啓
#修改插件下載地址
[root@jenkins .jenkins]# sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' updates/default.json
[root@jenkins .jenkins]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' updates/default.json
[root@jenkins .jenkins]# grep -o "tuna.tsinghua" updates/default.json
#kill %1,重啓
[root@jenkins ~]# cat /root/.jenkins/secrets/initialAdminPassword
0b9b294831aa4646b0c7ba7d4b5d853c
訪問http://192.168.213.188:8080/
安裝插件,創建管理員用戶
配置git
#卸載低版本
yum remove git
[root@jenkins ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-CBuilder perl-Extuntils-MakeMaker wget autoconf -y
[root@jenkins git-2.7.3]# make configure
[root@jenkins git-2.7.3]# ./configure --prefix=/usr/local/git
[root@jenkins git-2.7.3]# make profix=/usr/local/git
[root@jenkins git-2.7.3]# make install
[root@jenkins ~]# echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh
[root@jenkins ~]# source /etc/profile.d/git.sh
[root@jenkins ~]# git --version
git version 2.7.3
版本必須是2.0以上
配置maven
[root@jenkins ~]# tar xf apache-maven-3.5.4-bin.tar.gz -C /usr/local/
[root@jenkins ~]# echo "export PATH=$PATH:/usr/local/apache-maven-3.5.4/bin" > /etc/profile.d/maven.sh
[root@jenkins ~]# source /etc/profile.d/maven.sh
[root@jenkins ~]# mvn --version
Apache Maven 3.5.4
配置jdk
[root@jenkins ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el7_8.x86_64
[root@jenkins ~]# ln -sv /usr/local/jdk1.8.0_161 /usr/local/jdk1.8
[root@jenkins ~]# echo "export PATH=$PATH:/usr/local/jdk1.8/bin" > /etc/profile.d/java.sh
[root@jenkins ~]# source /etc/profile.d/java.sh
[root@jenkins ~]# java -version
java version "1.8.0_161"
配置svn
[root@jenkins ~]# yum install subversion -y
[root@jenkins ~]# mkdir /svnrepo
[root@jenkins ~]# svnadmin create /svnrepo/project1
[root@jenkins ~]# cd /svnrepo/project1/conf/
[root@jenkins conf]# egrep -v "^#|^$" authz
[aliases]
[groups]
[/]
xuel = rw
[root@jenkins conf]# egrep -v "^#|^$" passwd
[users]
xuel = [email protected]
[root@jenkins conf]# egrep -v "^#|^$" svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
# 啓動項目
[root@jenkins ~]# svnserve -d -r /svnrepo/project1/
配置系統環境變量
密碼破解
https://blog.csdn.net/h106140873/article/details/95480258
實戰PHP程序自動發佈
搭建lnmp環境
[root@lnmp ~]# yum install http php php-mysql
#https://blog.csdn.net/qq_39719589/article/details/81835330
插件安裝
Publish Over SSH
Git plugin
SSH配置
系統管理一系統設置一Publish over SSH
[root@jenkins ~]# ssh-keygen -t rsa
[root@jenkins ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
SSH Server配置
系統管理一系統設置一Publish over SSH一SSH Server
表項 | 含義 |
---|---|
name | 需要將php程序發佈到目標服務器的名稱,可自定義 |
Hostname | 目標服務器的IP地址 |
Username | 發佈用戶(密鑰互信的用戶) |
Remote Directory | 發佈到目標服務器的相對根路徑,建議填寫/,防止後續填寫路徑異常 |
構建項目
新建Item---->填入項目名稱---->選擇構建一個自由風格的軟件項目----> 確定
源碼管理 git
Repository URL填寫具體git上的倉庫url https://github.com/baijunyao/thinkphp-bjyblog.git
,如果爲私有,需要添加Credentials
構建環境 Send files or execute commands over SSH after the build runs
構建後操作:生成運行後通過SSH發送文件或執行命令
表項 | 內容 | 含義 |
---|---|---|
Source files | **/* | 此路徑以Jenkins的工作目錄爲基準,不支持全路徑 |
Remote directory | /var/www/html | 此路徑以SSH Server路徑爲基準,不支持絕對路徑 |
Exec command | chown -R apache:apache /var/www/html | - |
構建
保存並構建,可以點擊console output查看日誌
此時在lnmp主機上查看,程序文件已經成功發佈到目標服務器上
在瀏覽器上訪問,並安裝程序: http://192.168.213.136/Public/install/index.php
故障排查
error: RPCfaied; curl 18 transfer closed with outstanding read data remaining
(1)curl的postBuffer的默認值太小
[root@jenkins ~]# vim .jenkins/.gitconfig #增加
[http]
postBuffer = 524288000
(2)調整構建時間
java -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60 -jar jenkins.war
jenkins自動從github下載代碼編譯,時間不能超過10分鐘
jenkins對接私有倉庫
配置git
(1)在jenkins服務器上生成祕鑰對
[root@jenkins ~]# ssh-keygen -t rsa -C [email protected]
(2)將公鑰放置在git倉庫的祕鑰庫中並ssh連接測試
[root@jenkins ~]# ssh-copy-id -i .ssh/id_rsa [email protected]
配置Jenkins
jenkins使用私有倉庫私有倉庫需要添加Credentials
配置一個Credentials
在jenkins界面,依次點擊:憑據—系統—添加域—添加憑證
Private Key爲jenkins主機的私鑰【請確保公鑰已用Username傳到git主機上】
安裝Maven插件
Maven Integration Plugin
或者 Pipeline Maven Integration Plugin
構建任務
驗證結果