Java常用Linux命令集合
程序员入职必备技能 Oracle安装+局域网服务+内网穿透
2021史上最强教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)
Window下的Jenkins实战,一学就会,一看就懂
持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干 之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
官网:Jenkins
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
yum
安装,或下载war包以及通过docker容器等快速实现安装部署,可 方便web界面配置管理。RSS/E-mail
通过RSS
发布构建结果或当构建完成时通过e-mail通知,生 成JUnit/TestNG
测试报告。git,svn,maven, docker
等。Jenkins机器要求:
需要安装以下软件:
JRE
或者``JDK `都可以)腾讯云服务器:https://console.cloud.tencent.com
到此服务器就已经好了
网址:https://www.xshellcn.com/
百度网盘:https://pan.baidu.com/s/1BtzPh6ZYW6i6PaS5M–Zrg xx7y
xshell
中安装# 安装
[root@VM-4-10-centos jdk]# rpm -ivh jdk-8u131-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_131-2000:1.8.0_131-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
#检查
[root@VM-4-10-centos jdk]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@VM-4-10-centos jdk]#
#编辑环境变量
[root@VM-4-10-centos /]# vim /etc/profile
#添加内容
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#生效
[root@VM-4-10-centos /]# source /etc/profile
# yum install subversion
# svnserve --version
# mkdir -p /home/svn/project
# svnadmin create /home/svn/project/
# vim svnserv.conf
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password # 用户密码文件
authz-db = authz # 访问控制文件
realm = /home/svn/project # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
# 采用默认配置,以上语句都必须顶格写,左侧不能留空格,否则会出错。
# vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
username = 123456
# vim authz
# 在末尾添加如下代码
[/]
username = rw
# r:读,w:写
# svnserve -d -r /home/svn
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3s0I5F2G-1629357327365)(E:\学习笔记\运维开发\自动化部署\images\image-20210818172835471.png)]
# mkdir /environment/maven
# cd /environment/maven
# mkdir Repository 仓库地址
# wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz
# tar -zxvf apache-maven-3.8.2-bin.tar.gz
[root@shu maven]# ls
apache-maven-3.8.2 apache-maven-3.8.2-bin.tar.gz
[root@shu maven]# cd apache-maven-3.8.2/
[root@shu apache-maven-3.8.2]# ls
bin boot conf lib LICENSE NOTICE README.txt
[root@shu apache-maven-3.8.2]# cd conf
[root@shu conf]# ls
logging settings.xml toolchains.xml
[root@shu conf]# vim settings.xml
#增加仓库地址
<localRepository>/environment/maven/apache-maven-3.8.2/Repository</localRepository>
#增加阿里云支持
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
# vim /ect/profile
#末尾增加
export MAVEN_HOME=/environment/maven/apache-maven-3.8.2
export PATH=$PATH:$MAVEN_HOME/bin
[root@shu conf]# source /etc/profile
[root@shu conf]# mvn -version
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: /environment/maven/apache-maven-3.8.2
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_131/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.11.1.el7.x86_64", arch: "amd64", family: "unix"
配置成功
[root@shu tomcat]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz
[root@shu tomcat]# ls
apache-tomcat-9.0.52.tar.gz
[root@shu tomcat]# tar -zxvf apache-tomcat-9.0.52.tar.gz
[root@shu tomcat]# ls
apache-tomcat-9.0.52 apache-tomcat-9.0.52.tar.gz
[root@shu tomcat]# cd apache-tomcat-9.0.52/
[root@shu apache-tomcat-9.0.52]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@shu apache-tomcat-9.0.52]# cd conf
[root@shu conf]# ls
catalina.policy catalina.properties context.xml jaspic-providers.xml jaspic-providers.xsd logging.properties server.xml tomcat-users.xml tomcat-users.xsd web.xml
[root@shu conf]# vim server.xml
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
[root@shu apache-tomcat-9.0.52]# cd bin
[root@shu bin]# ./startup.sh
Using CATALINA_BASE: /environment/tomcat/apache-tomcat-9.0.52
Using CATALINA_HOME: /environment/tomcat/apache-tomcat-9.0.52
Using CATALINA_TMPDIR: /environment/tomcat/apache-tomcat-9.0.52/temp
Using JRE_HOME: /usr/java/jdk1.8.0_131/jre
Using CLASSPATH: /environment/tomcat/apache-tomcat-9.0.52/bin/bootstrap.jar:/environment/tomcat/apache-tomcat-9.0.52/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
# mkdir /environment/Jenkins
链接:https://pan.baidu.com/s/1UAGTjC2Ksb2Sk_1x5ZWHOw 提取码:v2t5
[root@shu Jenkins]# ls
jenkins-2.174-1.1.noarch.rpm
[root@shu Jenkins]# rpm -ivh jenkins-2.174-1.1.noarch.rpm
warning: jenkins-2.174-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:jenkins-2.174-1.1 ################################# [100%]
[root@shu Jenkins]# whereis jenkins #实际安装位置
jenkins: /usr/lib/jenkins
[root@shu /]# cd /usr/lib/jenkins
[root@shu jenkins]# ls
jenkins.war
[root@shu jenkins]# vim /etc/init.d/jenkins
#配置java路径
/usr/java/jdk1.8.0_131/bin/java
# sudo service jenkins start
# 如果失败:systemctl daemon-reload 再运行sudo service jenkins start
# 日志
vim /var/log/jenkins/jenkins.log
# vim /var/lib/jenkins/secrets/initialAdminPassword #密码
用新版本的war包替换这个路径下的war包
#完成重启
域名+端口/restart
安装完毕,到此基本的服务器环境搭建成功,下面该把他们联合起来配置
插件管理:搜索Chinese
其他插件完成更新,重启生效
还有一种方式是Tomcat+War包配置,这里我就不演示了,网上很多演示
Svn或Git,注意必须安装响应的插件,Svn上面的安装教程有详细解释
触发器就是一个条件执行器,满足了条件就执行,比如svn仓库更新,一天多久执行
环境构建:我来解释下吧:
提供一个管理文件,
在构建完成之前通过ssh发送文件
在构建完成之后通过ssh发送文件
可以理解为调用maven的命令来打成jar包,这里提供的方式有很多
可以理解为jar完成之后,执行的操作,当然是执行jar包 nohup java -jar jar包名 >temp.txt &
注意在系统配置中配置邮件地址
大功告成,当然这只是基本使用,最重要的是构建流水线式的自动化部署,后面有空更新