高版本的Jenkins需要jdk11甚至jdk17以上,但是公司项目大多都是基于jdk8,为了避免打包保jdk版本异常,直接安装支持jdk8的jenkins。
Linux:centos7
Git:git-1.8.3.1
JDK:jdk-8u371
Maven:maven-3.6.3
Tomcat:tomcat-9.0.65
Jenkins:jenkins-2.346.1(支持jdk8的最新版Jenkins)
- JDK配置
# 解压
tar -zxvf
# 编辑/etc/profile
vim /etc/profile
# 加入如下配置
export JAVA_HOME=/home/jdk1.8.0_371
export JRE_HOME=/home/jdk1.8.0_371/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
# 保存退出后,使该配置文件即刻生效
source /etc/profile
# 使用如下命令,能正确显示信息,说明环境配置成功
java -version
- MAVEN配置
# 解压
tar -xzvf apache-maven-3.6.
# 编辑/etc/profile
vim /etc/profile
# 加入如下配置
MAVEN_HOME=/home/apache-maven-3.6.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
# 保存退出后,使该配置文件即刻生效
source /etc/profile
# 使用如下命令,能正确显示信息,说明环境配置成功
mvn -version
-
部署Tomcat
# 下载
# wget 加上 --no-check-certificate 跳过认证
wget --no-check-certificate /tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.
# 解压
tar –xvzf apache-tomcat-9.0. –C /home/
# 编辑/etc/profile
vim /etc/profile
# 加入如下配置
CATALINA_HOME=/home/apache-tomcat-9.0.76
export CATALINA_HOME
# 保存退出后,使该配置文件即刻生效
source /etc/profile
参考:/article/
- 部署Jenkins服务
# 下载
wget /download/war/2.346.1/
# 至tomcat中,注意名称一定为
cp /home/apache-tomcat-9.0.76/webapps/
#启动
/home/apache-tomcat-9.0.76/bin/
在浏览器地址栏输入IP:8700/jenkins;第一次使用Jenkins,需要核对密钥,该密钥在路径(/root/.jenkins/secrets/initialAdminPassword)的文件中。
记录几个指令
产生密钥
ssh-keygen -t rsa -b 4096 -C "xxx@"
gitlab使用oauth2授权认证实操
https://oauth2:***key****@/xxx/
pipeline {
agent any
parameters {
gitParameter name: 'version', description: '选择branch或Tag', type: 'PT_BRANCH_TAG', defaultValue: 'master'
}
stages {
stage('git clone') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: "${}"]],
doGenerateSubmoduleConfigurations: false,
extensions: [],
gitTool: 'Default',
submoduleCfg: [],
userRemoteConfigs: [[url: 'https://oauth2:******@git.***.com/***.git']]
])
}
}
stage ('releases') {
tools {
maven "maven3"
jdk "jdk8"
}
steps {
sh """
mvn -T 4 clean install -=true
cd test/target/
zip -q -r . -x "bin/*"
"""
}
post {
success {
archiveArtifacts artifacts: 'test/target/', onlyIfSuccessful: true
}
}
}
stage ('deploy') {
steps {
sh """
sshpass -p 'xxx' scp -P 22 ${WORKSPACE}/test/target/ root@10.10.11.0:/home/tmp/
sshpass -p 'xxx' ssh -p 22 root@10.10.11.0 'sh /home/test/bin/ start'
"""
}
}
stage ('check log') {
steps {
sleep(30)
sh "sshpass -p 'xxx' ssh -p 22 root@10.10.11.0 'tail -n 1000 /home/test/logs/'"
}
}
}
}