大致說下jenkins自動(dòng)化的流程:
- 程序員提交代碼到遠(yuǎn)程倉庫.
- jenkins 從遠(yuǎn)程倉庫下載代碼.
- jenkins 構(gòu)建(編譯/打包)
- jenkins 部署
- 完畢
安裝git
(根據(jù)環(huán)境選擇是否安裝)
推薦閱讀
安裝maven
(根據(jù)環(huán)境選擇是否安裝)
maven用于構(gòu)建,如果你的環(huán)境不需要構(gòu)建可以不安裝
選擇版本下載
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
解壓
tar -zxvf 安裝包 -C /usr/local
cd /usr/local
mv apache-maven-3.5.2 /usr/local/maven
#可選
添加環(huán)境變量
/etc/profile 或者~/.bash_profile
#maven目錄
export M2_HOME=/usr/local/maven
#maven的bin目錄
export M2=$M2_HOME/bin
#將bin加到PATH變量中
export PATH=$M2:$PATH
配置生效
source /etc/profile
查看
mvn -version
[root@jenkins /]# mvn -version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"
安裝jenkins
(根據(jù)環(huán)境必須安裝)
官網(wǎng)下載以下摘自官方
#下載倉庫源,導(dǎo)入公鑰
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#安裝
yum -y install jenkins
#運(yùn)行(/usr/lib/jenkins)
java -jar jenkins.war
訪問
http://ipaddress:8080/
若出現(xiàn)如下內(nèi)容
Unlock Jenkins
To ensure Jenkins is securely set up by the administrator, a password has been written to the log (not sure where to find it?) and this file on the server:
/root/.jenkins/secrets/initialAdminPassword
Please copy the password from either location and paste it below.
Administrator password
根據(jù)提示,復(fù)制密碼解鎖即可.
通過tomcat啟動(dòng)
安裝tomcat
http://tomcat.apache.org/
下載軟件包
tar -zxvf apache-tomcat-7.0.75.tar.gz
mv apache-tomcat-7.0.75 /usr/local/tomcat
mv /usr/lib/jenkins/jenkins.war /usr/local/tomcat/webapps
#啟動(dòng)
/usr/local/tomcat/bin/startup.sh
訪問
http://ipaddress:8080/ jenkins
注意
構(gòu)建,部署需要兩個(gè)插件(常用于java)
Deploy to container Plugin 和 Maven Integration plugin
使用git的要安裝Git Plugin
進(jìn)入jenkins,警告如下
Your container doesn’t use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers and Tomcat i18n for more details.
去tomcat的conf/下修改serverl.xml
<Connector port="8080" protocol="HTTP/1.1"
URIEncoding="UTF-8" #添加此參數(shù)
connectionTimeout="20000"
redirectPort="8443" />
jenkins環(huán)境至此搭建完畢.
熟悉jenkins
系統(tǒng)設(shè)置
- 包括一些全局設(shè)置,工具的設(shè)置,證書創(chuàng)建,插件管理等等
部署靜態(tài)頁面
部署到httpd
溫習(xí)下流程:
- 程序員提交代碼到遠(yuǎn)程倉庫.
- jenkins 從遠(yuǎn)程倉庫下載代碼.
- jenkins 構(gòu)建(編譯/打包)
- jenkins 部署
- 完畢
代碼的下載(git)要用到git plug插件(svn要用到Subversion Plug-in),部署到遠(yuǎn)端服務(wù)器需要Publish Over SSH(httpd,nginx等).如果要部署到tomcat,jboss使用Deploy to container Plugin,當(dāng)然ssh(通過腳本)也可以
- 新建一個(gè)自由風(fēng)格的項(xiàng)目 命名為free(名字自定義)
-
General
頁面,點(diǎn)開高級選項(xiàng)卡,手動(dòng)制定此項(xiàng)目的工作空間
/usr/local/jenkins/workspace/free #自定義路徑
-
源碼管理
頁面選擇代碼托管方式- 一般會(huì)有三個(gè)選擇 None,Git,Subversion.根據(jù)情況選擇.我選擇GIT.根據(jù)情況填寫倉庫URL以及添加秘鑰.(秘鑰可以在Credentials 下先添加,這里選擇.)
此時(shí)jenkins和git打通.
- 一般會(huì)有三個(gè)選擇 None,Git,Subversion.根據(jù)情況選擇.我選擇GIT.根據(jù)情況填寫倉庫URL以及添加秘鑰.(秘鑰可以在Credentials 下先添加,這里選擇.)
-
構(gòu)建
頁面選擇增加構(gòu)建步驟--execute shell
用來執(zhí)行腳本
cd /usr/local/jenkins/workspace/free; #切換到項(xiàng)目工作空間
tar cf free.tar *; #執(zhí)行shell 打包文件
-
構(gòu)建后操作
頁面增加構(gòu)建后步驟--send build artifacts over SSH
(通過SSH將構(gòu)建的東西發(fā)送到遠(yuǎn)端主機(jī)) 這個(gè)選擇需要安裝上文提到的ssh插件.-
name: 這個(gè)選擇需要去
系統(tǒng)管理
--系統(tǒng)設(shè)置
--Publish over SSH
中添加ssh服務(wù)器.(name:自定義.hostname:主機(jī)地址.username:用戶名,Remote Directory:遠(yuǎn)端主機(jī)目錄,不建議填寫,建議在項(xiàng)目下填寫.點(diǎn)開高級
,輸入密碼.點(diǎn)擊test configuration
,顯示返回成功即可) -
Transfer Set Source files :
*.tar
注意這個(gè)路徑是針對工作空間而言的相對路徑. -
Remote directory : 遠(yuǎn)端主機(jī)目錄
/var/www/html/
- Exec command: 傳輸后執(zhí)行的命令,針對遠(yuǎn)端主機(jī)的
-
name: 這個(gè)選擇需要去
cd /var/www/html/;
tar xvf free.tar;
保存,執(zhí)行構(gòu)建任務(wù)即可.