短视频网站开发,企业网站建设效果,营销推广有哪些步骤,wordpress 多字段一、介绍 Jenkins
、Jenkins概念 Jenkins是一个功能强大的应用程序#xff0c;允许持续集成和持续交付项目#xff0c;无论用的是什么平台。这是一个免费的源代码#xff0c;可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允…一、介绍 Jenkins
、Jenkins概念 Jenkins是一个功能强大的应用程序允许持续集成和持续交付项目无论用的是什么平台。这是一个免费的源代码可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。
2、Jenkins目的
① 持续、自动地构建/测试软件项目。
② 监控软件开放流程快速问题定位及处理提示开放效率。
3、特性
① 开源的java语言开发持续集成工具支持CICD。
② 易于安装部署配置可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署可方便web界面配置管理。
③ 消息通知及测试报告集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知生成JUnit/TestNG测试报告。
④ 分布式构建支持Jenkins能够让多台计算机一起构建/测试。
⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar哪次构建使用哪个版本的jar等。
⑥ 丰富的插件支持:支持扩展插件你可以开发适合自己团队使用的工具如gitsvnmavendocker等。
4、产品发布流程
产品设计成型 - 开发人员开发代码 - 测试人员测试功能 - 运维人员发布上线
持续集成Continuous integration简称CI
持续交付Continuous delivery
持续部署continuous deployment
二、安装Jenkins
1、安装JDK
Jenkins是Java编写的所以需要先安装JDK这里采用yum安装如果对版本有需求可以直接在Oracle官网下载JDK也可自己编译安装。
2、安装Jenkins
1、上传 jdk11 tomcat jenkins.war
#下载地址[rootjenkins ~]# ls
anaconda-ks.cfg apache-tomcat-9.0.83.tar.gz ip_fixed.sh jdk-17_linux-x64_bin.tar.gz jenkins.war yum-server.sh
2、安装依赖插件
#安装依赖插件
[rootjenkins ~]# yum -y install dejavu-sans-fonts fontconfig xorg-x11-server-Xvfb 3、解压tar包改包名
# 解压jdk
[rootjenkins ~]# tar xf jdk-17_linux-x64_bin.tar.gz -C /usr/local/# 解压tomcat
[rootjenkins ~]# tar xf apache-tomcat-9.0.83.tar.gz -C /usr/local/
[rootjenkins ~]# cd /usr/local/
[rootjenkins local]# ls
apache-tomcat-9.0.83 bin etc games include jdk-17.0.7 lib lib64 libexec sbin share src# 改包名
[rootjenkins local]# mv apache-tomcat-9.0.83/ tomcat
[rootjenkins local]# mv jdk-17.0.7/ java
[rootjenkins local]# ls
bin etc games include java lib lib64 libexec sbin share src tomcat 4、配置环境检测jdk环境是否安装成功
[rootjenkins local]# vim /etc/profile.d/java.sh
JAVA_HOME/usr/local/java
TOMCAT_HOME/usr/local/tomcat
PATH$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin# 重载环境
[rootjenkins local]# source /etc/profile.d/java.sh# 检测Java环境是否安装成功
[rootjenkins local]# java -version
java version 17.0.7 2023-04-18 LTS
Java(TM) SE Runtime Environment (build 17.0.78-LTS-224)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.78-LTS-224, mixed mode, sharing)5、启动tomcat浏览器查看是否启动成功
[rootjenkins local]# cd /usr/local/tomcat/
[rootjenkins tomcat]# ./bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
浏览器查看 ip:8080 6、将jenkins.war包拷贝到/usr/local/tomcat/webapps/目录下
[rootjenkins tomcat]# cp /root/jenkins.war webapps/
[rootjenkins tomcat]# ./bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opensjava.base/java.langALL-UNNAMED --add-opensjava.base/java.ioALL-UNNAMED --add-opensjava.base/java.utilALL-UNNAMED --add-opensjava.base/java.util.concurrentALL-UNNAMED --add-opensjava.rmi/sun.rmi.transportALL-UNNAMED
[rootjenkins tomcat]# ./bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
访问 ip:8080/jenkins 192.168.58.145:8080/jenkins
首先需要解锁Jenkins请在/var/lib/jenkins/secrets/initialAdminPassword中查看文件。
[rootjenkins ~]# cat /root/.jenkins/secrets/initialAdminPassword
d7da6b00ad444d10b6c001d255d73fac
[rootjenkins ~]# 选择需要安装的插件
选择默认推荐即可会安装通用的社区插件剩下的可以在使用的时候再进行安装。 设置Admin用户和密码 成功登录Jenkins 3、安装完后简单的配置
1、将语言更改为中文 2、系统配置 通过配置相应的系统信息最后在测试配置出现上述信息则表示测试邮箱信息发送成功也可以在邮箱中查看信息。 3、安装插件
maven、blue ocean 、nodejs、gitlab 4、配置工具 安装git
[rootjenkins ~]# yum - y install git 在网页端添加git的相关信息 安装maven并在页面填写maven相关的信息
[rootjenkins ~]# ls
anaconda-ks.cfg jdk-17_linux-x64_bin.tar.gz
apache-maven-3.8.5-bin.tar.gz jenkins.war
apache-tomcat-9.0.83.tar.gz yum-server.sh
ip_fixed.sh[rootjenkins ~]# tar xf apache-maven-3.8.5-bin.tar.gz -C /usr/local/
[rootjenkins ~]# cd /usr/local/
[rootjenkins local]# mv apache-maven-3.8.5/ maven[rootjenkins local]# vim /etc/profile.d/maven.sh
MAVEN_HOME/usr/local/maven
PATH$PATH:$MAVEN_HOME/bin[rootjenkins local]# source /etc/profile.d/maven.sh
[rootjenkins local]# mvn -version
Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
Maven home: /usr/local/maven
Java version: 17.0.7, vendor: Oracle Corporation, runtime: /usr/local/java
Default locale: zh_CN, platform encoding: UTF-8
OS name: linux, version: 3.10.0-1160.el7.x86_64, arch: amd64, family: unix
[rootjenkins local]# 保存信息。
4、部署项目
1、新建任务 2、配置项目
以下要用到gitlab的相关部署信息可以参考http://t.csdnimg.cn/nrPaF 在gitlab服务器端获取私钥并填写在页面相应位置
[rootgitlib ~]# cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAtS6vhJiLwWFkrNH05WsrJrgcKjLzkyZfvviEktcWEb7bQS9E
pOFnvHIdHs7ncPjTDci0sktvZlVbAsSiyp4CU0iIAeMcXAECe4QXw5JxPDBewj
UStKvHWstDHXUNbW935/GRKJxgMvgYJItVlci0libg2b5FNt7lSQg8mfOxdtDk
qqrSmx9TBWf5bKt1x7XGsJP3xsFGbVY3eU8eJfqXQlkWWakXBLNOUhTVwQtktlM8
F3rkemigTgTh1zWij8LcP0wUc922EKa8BaC4sA0TcGcz1UVsz9Wj/SVMEYmMZbDI
GKPrOynYL2/nv6vvOtDd11kNFSBPnIhoEiGCwIDAQABAoIBAQCsO8EmL01Le6YU
k1JWdNYEbKh5hQ3/KEEXwLIBCc6n1AWWzTJGyAu4nrK4zf2nmBJGhnAwH43w
x7RqXG3XibeS8xoTDAUK24A8ndnIyARwsNWx55GYLeYmXknm4o0Ke62UvFGxcC9M
xLgSoQFa1IgGr1MwI9TZfkAKdQYG4gRyEY1VCLoQxP1ec4DI/Ry15M6Qx2/c6b/N
B3A4WPCrNxo7KamJdn8a1JMt1f/nQUk//ZEJgB/CTiNZTPCljVmh2h8Uo2xhtiu
j5UPtvU/IA8ca8TyWKhNRBaXGtUIFEi2i2VAVruIccpfGW8WnD/2FWk5QZXBfUv3
PDoZR55hAoGBAN7Q0QlyaN7MoyipCElqjUA2EXIZtMtJEXSUNtbsobgaDznLjw
2NvwXO28svUQoCjNl31k2NDP5zFIxMqmm/KxEIm8WVwOhCkiBYTb2Zv/BBWrxK
5SUz/KSAORqp2cqgeLvL9wJp49LeMzThDcuvLjlPR3Yo8mVQmHVkGJSHAoGBANAq
iS3EHGipvkik5cSRLwWl8tGqX/nZq0tq9Sf8aJoICtjxh6WeKL5gZenFoZ4zwb
wZuEzG2x6zEqSingjgNWFmMurKt4yXqe4wE4POd9BoOEPOTU0OzbkcGvAn/UTG
XnpKYYz4KQz7f7e6jsliSFvvI0OVlga9egGd9iddAoGBALp1Lm4Uw69dkg8FnNy
rIPcaB/Fe16/CPqw7F8x546UBB9nncAaNKg7nM4FN4FgrGrQl3Qkv1fGk2bnyV7
4m8o1KGzKxFDICQrO4KV0wwmMrvgRQkK98TxQzt53cVUZ9COKaXIebQLAmbTmiy
6LOJrnnhASE9VNM55cte7z7jAoGAQw7w0gVzAWRtpjS1Rt1jtxOwIpPI1qM8uF0W
GReggdykD8/ZYRFJE2nt19yfrQIN7zZSbgmAtBrOuS/eZE8qcHizDZBjn3lxrlD
eiSmctRXZm1RmKXFFPIgfFD3EmFlToyBUMg2cC3uK7sHcvDY6x9kuAehA8UHWe8
ffjc6yECgYBB3Qi6TaJU5kug1nrLWIuYUC/8YYExlXsmXGLs8GeHBhdytKCIb1
BQiLYIGvrhxwqhvlsjKrfQNgUiT7cKkh5XzPB5MfSgfGb93PwarZhh0YLVqI3YsB
zqHgbpc3ZBI5Zjm33LZGq0a8ZPeC/MMBy3Jkp07035G2gPxwhOfBbA
-----END RSA PRIVATE KEY-----
[rootgitlib ~]# 在jenkins所在的主机上安装nginx在将代码拉去下来之后将/usr/share/nginx/html/下的文件备份将新拉取的代码拷贝到/usr/share/nginx/html/下并修改权限。
echo 代码拉取完毕开始推送
tar czf /opt/nginx_html_date %F-%H_%M_%S.tar.gz /usr/share/nginx/html/
rm -rf /usr/share/nginx/html/*
cp -r /root/.jenkins/workspace/nginx_test/love-master/* /usr/share/nginx/html/
chmod 777 -R /usr/share/nginx/html/ 将下述内容填写相应位置
# Default Subject项目 【$PROJECT_NAME】 第【$BUILD_NUMBER】次构建 - $BUILD_STATUS! # Default Content!DOCTYPE html
html
head
meta charsetUTF-8
title${ENV, varJOB_NAME}-第${BUILD_NUMBER}次构建日志/title
/head body leftmargin8 marginwidth0 topmargin8 marginheight4 offset0 table width95% cellpadding0 cellspacing0 stylefont-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif
h3本邮件由系统自动发出请勿回复/h3 tr br/ 各位同事大家好以下为${PROJECT_NAME }项目构建信息/br tdfont color#CC0000构建结果 - ${BUILD_STATUS}/font/td /tr tr tdbr / bfont color#0B610B构建信息/font/b hr size2 width100% aligncenter //td /tr tr td ul li项目名称 ${PROJECT_NAME}/li li构建编号 第${BUILD_NUMBER}次构建/li li触发原因 ${CAUSE}/li li构建状态 ${BUILD_STATUS}/li li构建日志 a href${BUILD_URL}console${BUILD_URL}console/a/li li构建 Url a href${BUILD_URL}${BUILD_URL}/a/li li工作目录 a href${PROJECT_URL}ws${PROJECT_URL}ws/a/li li项目 Url a href${PROJECT_URL}${PROJECT_URL}/a/li /ul h4font color#0B610B最近提交/font/h4
ul
hr size2 width100% /
${CHANGES_SINCE_LAST_SUCCESS, reversetrue, format%c, changesFormatli%d [%a] %m/li}
/ul
详细提交: a href${PROJECT_URL}changes${PROJECT_URL}changes/abr//td /tr /table
/body
/html gitlab服务端的文件
[rootgitlib yun2304]# ls
java_code love-master README.md web_code 后端 开发人员信息 前端在jenkins服务端进行验证
[rootjenkins nginx_test]# ll
总用量 12
drwxr-x---. 2 root root 22 11月 22 19:38 java_code
drwxr-x---. 4 root root 195 11月 22 19:38 love-master
-rw-r-----. 1 root root 6170 11月 22 19:38 README.md
drwxr-x---. 3 root root 41 11月 22 19:38 web_code
drwxr-x---. 2 root root 22 11月 22 19:38 后端
-rw-r-----. 1 root root 99 11月 22 19:38 开发人员信息
drwxr-x---. 2 root root 22 11月 22 19:38 前端浏览器访问 192.168.58.15385 这里修改了nginx的默认端口避免冲突