我的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也很不错哟!

 

猜你喜欢

转载自blog.csdn.net/TomorrowAndTuture/article/details/105065323