我的Jenkins自動化部署之路

沒使用Jenkins之前:修改項目的某個程序以後,我不得不通過Xshell的Xftp上傳已經更新的文件,覆蓋掉原來的舊文件。然後久而久之,我就厭煩了這種簡單重複的工作,於是開始找替代方法,其中一個比較好的就是使用Pycharm中 Tools->Department (專業版纔有)的功能:https://www.cnblogs.com/wcwnina/p/10016363.html。只要文件有修改,就可以同步將本地文件更新上去。但是,我可能需要一個版本控制,自己來控制推送頻率,而不是稍有更改就進行推送,而且我可能會需要之前的版本,服務器能自己將我GitHub上的代碼拉取過去就可以了,於是找到了Jenkins。

本來是想規規矩矩找個服務器來弄的,後來發現,centOS7的虛擬機真香。

首先是在虛擬機上安裝centOS7系統,這個我就不多說了,然後配置好靜態IP(這個比較重要,因爲你後邊要用這個IP來訪問Jenkins),我這兒是192.168.128.139。

root@192 ~]# cd /etc/sysconfig/network-scripts
root@192 ~]# vi ifcfg-eth0
修改內容,僅供參考
DEVICE=eth0
#HWADDR=00:0C:29:5E:6C:55
TYPE=Ethernet
#UUID=e5423901-b152-4f05-a6d4-68769c681046
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.128.139
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=192.168.128.2

然後老老實實安裝Java,注意版本,我之前就因爲安裝的Java7導致版本不符合,一般需要的Java版本在8-11。

[root@192 ~]# yum -y list java*
[root@192 ~]# yum -y install java-1.8.0-openjdk*
[root@192 ~]# java -version
[root@192 ~]# ls -l rt /usr/bin/java 
[root@192 ~]# ls -l rt  /etc/alternatives/java

然後安裝Jenkins,可以用yum進行安裝,儘管下載速度着實讓人有點捉急。

[root@192 ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
[root@192 ~]# rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
[root@192 ~]# yum install -y jenkins

yum安裝的話會使用默認的安裝路徑,默認路徑如下:
    (1)/usr/lib/jenkins/:jenkins安裝目錄,WAR包會放在這裏。
    (2)/etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在這裏配置。
    (3)/var/lib/jenkins/:默認的JENKINS_HOME。
    (4)/var/log/jenkins/jenkins.log:Jenkins日誌文件。

maven,tomcat也可以安裝一下

我這兒安裝以後的配置文件 /etc/profile 的配置信息爲:

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export TOMCAT_HOME=/usr/tomcat/apache-tomcat-8.5.53
export JENKINS_HOME=/var/lib/jenkins/
export MAVEN_HOME=/usr/maven/apache-maven-3.5.4
export PATH=${PATH}:${MAVEN_HOME}/bin

然後使用 service jenkins start 來啓動Jenkins服務,關閉則使用 service jenkins stop。

然後訪問:http://192.168.128.139:8080/

具體使用參照:https://blog.csdn.net/nunchakushuang/article/details/77118621

當然,git + Jenkins + supervisor 對於一般的Python自動化部署還是很不錯的:git可以很方便的上傳代碼和進行版本控制,Jenkins可以將git倉庫的東西很快拉取下來,然後使用supervisor來進行重新運行更新的代碼。

還有,GitLab和GitHub的WebHook也很不錯喲!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章