官方网址:https://jenkins.io/zh/
1、配置 java 环境并部署 jenkins
root@jenkins:/usr/local/src
root@jenkins:/usr/local/src
root@jenkins:/usr/local/src
root@jenkins:/usr/local/src
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
root@jenkins:/usr/local/src
root@jenkins:/usr/local/src
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
[root@s1 ~]
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=12345 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -Djava.rmi.server.hostname="192.168.7.101" \ "
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""
JENKINS_JAVA_OPTIONS="-server -Xms1g -Xmx1g -Xss512k -Xmn1g
-XX:CMSInitiatingOccupancyFraction=65
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts -XX:+UseBiasedLocking
-XX:+DisableExplicitGC -XX:MaxTenuringThreshold=10
-XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:NewRatio=2
-XX:PermSize=128m -XX:MaxPermSize=512m -XX:CMSFullGCsBeforeCompaction=5
-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled -Djava.awt.headless=true
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname="192.168.7.104" "
2、基于 ssh key 拉取代码
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQC3niuTNTXCA4zoltRTu+qDMOyF0xglYFxIIZMolCH2+
Ma3L4v/D72WascVBD4LrkJM3S6KTSLn4M4+7l+9fe5LaZu0WSD2Se2N0FVcPFsYOK5ZwPoWiL
83R5T2bN4j69G7cAtHM5X5WOAuJs6ArSBSxsSnyeFnUFNw3rbmkCCt2TvrsmqTzEMA1PDQno
/7wB3n8JfxjaKp5oHNPQrwN0p0lGuUMSxGSNjCEIiexxqpyrJ0DPShs+XximSOO7noWbZq2nM
hsH7yWdwKN3qD00U52ACDijeAyKVa4ByQntDIPeCr8gdUZiT8rbfXtix2MhR2cCgZJAKYDQNAw
ltVVOCf root@jenkins.example.com
3、配置 jenkins 自动拉取代码
cd /var/lib/jenkins/workspace/test-demo1
scp -r ./* 192.168.7.103:/data/tomcat_webdir/myapp/
scp -r ./* 192.168.7.104:/data/tomcat_webdir/myapp/
4、pipline
官方介绍:https://jenkins.io/2.0/
node {
stage("clone 代码"){
echo "代码 clone"
}
stage("代码构建"){
echo "代码构建"
}
stage("代码测试"){
echo "代码测试"
}
stage("代码部署"){
echo "代码部署"
} }
node {
stage("code clone"){
echo "git clone"
git credentialsId: 'b695c060-6a99-4ee3-bd4c-730bd4dd36ec', url:
'git@192.168.8.3:test-service/test-project.git'
}
stage("code build"){
echo "code build"
}
stage("code test"){
echo "code test"
}
stage("code deploy"){
echo "code deploy"
} }
node {
stage("code clone"){
echo "git clone"
git credentialsId: 'b695c060-6a99-4ee3-bd4c-730bd4dd36ec', url:
'git@192.168.8.3:test-service/test-project.git'
sh "cd /root/.jenkins/workspace/pipline-test && tar czvf code.tar.gz ./*"
}
stage("code build"){
echo "code build"
}
stage("code test"){
echo "code test"
}
stage("code deploy"){
echo "code deploy"
} }
[root@jenkins-slave ~]
[root@jenkins-slave ~]
mkdir: created directory ‘/data’
mkdir: created directory ‘/data/jenkins’
mkdir: created directory ‘/data/jenkins/slave’
node('slave-node1'){
stage("code clone"){
echo "git clone"
sh "cd /data/jenkins/slave/workspace/pipline-test && rm -rf ./*"
git credentialsId: 'b695c060-6a99-4ee3-bd4c-730bd4dd36ec', url:
'git@192.168.8.3:test-service/test-project.git'
sh "cd /data/jenkins/slave/workspace/pipline-test && tar czvf code.tar.gz ./*"
}
stage("code build"){
echo "code build"
}
stage("code test"){
echo "code test"
}
stage("code deploy"){
echo "code deploy"
} }