请在容器内部安装mvn以及对应的jdk
1.启动命令
docker run -u root -d --name=gch-jenkins-v2.0 -p8082:8080 \
-v /home/dockerData/jenkinsHome_V2/:/var/jenkins_home \
-v /home/dockerData/nodejs/:/opt/soft/nodejs-v16.15 \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
gch-docker-jenkins:v2.0
2.注意安装前请更新依赖
3.JDK配置
/etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${
JAVA_PATH
4.jenkins部署pipeline配置
cp 可用scp实现多服务器编译文件复制
node {
def mvnHome
stage("请输入部署的环境"){
def inputResp = input id: "input_${BUILD_NUMBER}", message: '''请输入部署的环境【dev-test-pro】''', parameters: [string(defaultValue: 'dev', description: '''确认部署环境,输入指令后点击Proceed【继续】,终止请点击Abort【终止】''', name: 'action')]
if(inputResp == "dev")
{
// throw new Exception("The input is incorrect, we abort this job..")
println "开始部署到开发环境......"
}
else if(inputResp == "pro")
{
// throw new Exception("The input is incorrect, we abort this job..")
println "开始部署到正式环境......"
}
else if(inputResp == "test")
{
// throw new Exception("The input is incorrect, we abort this job..")
println "开始部署到测试环境......"
}else{
println "开始部署到$inputResp环境......"
}
environment = "$inputResp"
}
stage('Preparation') {
// for display purposes
// 这个是docker内部jenkins 的绝对路径
// 目标服务器的用户名
sshUserName = "username"
// 目标服务器的密码
sshPassWord = "password"
// 目标服务器的IP
sshIp = "ip"
// 目标服务器的端口
sshPort = "port"
// 当前jenkins创建的item名称
itemName = 'itemName'
// 当前github拉下来的项目存放位置
workSpaceName = 'workSpacePath'
// 这里配置git路径 可以通过流程语法中 git 选项填写获得
// 下面配置请根据实际情况,可以不用修改
git credentialsId: '38d7041b-2246-4473-94e7-c7cef7be3251',