1. 安裝及使用Jenkins
1.1 安裝前準備
1.1.1 安裝Java
sudo yum -y install java-1.8.0-openjdk #jre
sudo yum -y install java-1.8.0-openjdk-devel #jdk
但對於centos有個問題,不可以安裝成gcj(例如:gij(GNU libgcj) version 4.4.6 20110731(Red Hat 4.4.6-3)), 導致Jekins不工作,如果查看java版本類似上例,需要卸載,安裝其他版本
java -version #查看Java版本
yum remove java #卸載異常版本
which java #查看java執行路徑,備註:java實際的路徑為--/usr/lib/jvm
設置java路徑:vi /etc/profile 在文件最後添加下列配置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使配置生效: source /etc/profile
1.1.2 防火牆設置
#配置Jenkins端口8080
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#開端口後必須重新加載
firewall-cmd --reload
1.1.3 安裝Git
sudo yum -y install git
git --version
1.1.4 安裝Maven
1.1.4.1 下載Maven安裝包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
1.1.4.2 解壓Maven安裝包
tar -zxvf apache-maven-3.6.0-bin.tar.gz
mv apache-maven-3.6.0 /usr/local/maven3
1.1.4.3 配置Maven路徑
vi /etc/profile #最後添加以下內容
export M2_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
#保存退出後運行下面的命令使配置生效,或者重啟服務器生效
source /etc/profile
配置結果如下圖:
1.1.4.4 驗證Maven是否配置成功
mvn -v
1.1.5 配置國內阿里雲Maven鏡像
vi /usr/local/maven3/conf/settings.xml
配置mirrors的子節點,添加如下mirror
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
1.1.5 安裝JQ,用於解析Json字符串
yum install epel-release -y
yum install jq -y
jq --version
#或者
wget -o jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
chmod +x ./jq
cp jq /usr/bin
#驗證
echo '{"first_name":"John","full_name":"John Doe","last_name":"Doe"}' | jq .
echo '{"first_name":"John","full_name":"John Doe","last_name":"Doe"}' | jq . full_name
1.2 安裝Jenkins
1.2.1 拉取庫的配置到本地
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
1.2.2 導入公鑰
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
1.2.3 安裝Jenkins
#`-y`參數:回答全部問題為是
sudo yum -y install jenkins
1.2.4 更新Jenkins
yum update jenkins
1.2.5 卸載Jenkins
rpm -e jenkins
刪除其他相關文件
find / -iname jenkins | xargs -n 1000 rm -rf
1.2.6 Jenkins相關配置信息
1.2.6.1 系統配置文件
cat /etc/sysconfig/jenkins | more
可以獲得幾個重要配置項目信息
JENKINS_HOME="/var/lib/jenkins",存放jenkins 配置及工作文件
JENKINS_PORT="8080",jenkins默認8080端口
1.2.6.2 配置文件夾
ls /var/lib/jenkins
有jobs、logs、plugins等文件夾及文件若干。
這次主要看了看plugins文件夾,所有插件都在裡面,如插件ssh-slaves,會有一個ssh-slaves文件夾及ssh-slaves.jpi。
當某個插件未安裝成功時,會有一個以.tmp結尾的文件
1.2.6.3 日誌
/var/lib/jenkins/logs
/var/log/jenkins/jenkins.log,記錄了插件安裝等日誌,失敗信息原因等很清晰
1.2.6.4 其他
1.3 啟動Jenkins及安裝插件
1.3.1 啟動服務
service jenkins start
1.3.2 瀏覽器訪問:http://192.168.56.99:8080
1.3.3 獲取管理員密碼
vi /var/lib/jenkins/secrets/initialAdminPassword
1.3.4 安裝插件
1.3.5 安裝Git Parameter插件
1. 系統管理-->插件管理-->可選插件-->搜索git parameter;
2. 安裝插件
1.4 配置Nginx的反向代理
1.4.1 創建Nginx下Jenkins的配置文件
vi /usr/local/nginx/conf/conf.d/jenkins.conf
1.4.2 配置文件內容如下
upstream jenkins {
keepalive 32; # keepalive connections
server 127.0.0.1:8080; # jenkins ip and port
}
server {
#注意這裡,要把默認的那個default_server去掉,因為我們在下面要單獨配置域名訪問,所以這裡不要留default_server,不然會報錯。
listen 80;
#這裡寫你想設置的域名,可以寫多個,與名之間用空格隔開
server_name jenkins.domain.com;
# Load configuration files for the default server block.
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Fix the "It appears that your reverse proxy set up is broken" error.
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 90;
proxy_redirect http://127.0.0.1:8080 https://jenkins.domain.com;
# Required for new HTTP-based CLI
proxy_http_version 1.1;
proxy_request_buffering off;
# workaround for https://issues.jenkins-ci.org/browse/JENKINS-45651
add_header 'X-SSH-Endpoint' 'jenkins. domain.com:50022' always;
}
access_log /var/log/jenkins/access.log;
error_log /var/log/jenkins/error.log;
error_page 404 /404.html;
location = /404.html {
root /usr/local/nginx/html;
}
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
}
}
1.4.3 重啟Nginx
nginx -t
nginx -s reload
1.4.4 配置Jenkins訪問路徑:
訪問Jenkins:http://jenkins.domain.com
進入系統管理-->系統設置-->Jenkins Location,設置URL為:http://jenkins.domain.com