Builds records related to the tomcat app
- Administration -> System Configuration -> Global Properties -> Environment Variables -> New Key Value Pair
- DOCKER_JENKINS_WORKSPACE : /var/lib/docker/volumes/soft_jenkins_home/_data/workspace
cd /var/lib/docker/volumes/soft_jenkins_home/_data && mkdir -p ./soft/jdks
wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz
wget https://corretto. Ws/downloads/latest/amazon-corretto-11-x64-linux-jdk.tar.gz
tar -zxvf amazon-corretto-8-x64-linux-jdk.tar.gz
cd /var/lib/docker/volumes/soft_jenkins_home/_data && mkdir -p ./soft/maven
code settings.xml
- maven build
- Builds -> Add Building Step -> Call Top Maven Target
clean install -Dmaven.test.skip=true -Pprivate -Djava.awt.headless=true
clean package -D maven.test.skip=true -P prod help:active-profiles
- Execute shell
- Upload a mirror to the private inventory
export app_version=${BUILD_NUMBER}
cd $WORKSPACE
tee Dockerfile <<-'EOF'
FROM openjdk:11-jre-slim
WORKDIR /workdir
ADD ./target/*.jar app.jar
ENV SPRING_PROFILES_ACTIVE=prod
ENV SERVER_PORT=8080
ENTRYPOINT java -jar -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=$SPRING_PROFILES_ACTIVE -Dserver.port=$SERVER_PORT app.jar
EXPOSE 8080
EOF
echo <password> | docker login -u <username> --password-stdin registry.cn-zhangjiakou.aliyuncs.com
docker -H tcp://172.17.0.1:2375 build -t $JOB_NAME:$app_version .
docker -H tcp://172.17.0.1:2375 tag $JOB_NAME:$app_version registry.cn-zhangjiakou.aliyuncs.com/fa/$JOB_NAME:$app_version
docker -H tcp://172.17.0.1:2375 push registry.cn-zhangjiakou.aliyuncs.com/fa/$JOB_NAME:$app_version
docker -H tcp://172.17.0.1:2375 rmi registry.cn-zhangjiakou.aliyuncs.com/fa/$JOB_NAME:$app_version
docker logout
- Send build artifacts over SSH (Transfers Set -> Exec command)
- Select a remote ssh server, start a docker container on a remote server
- Or, use remote access to docker directly
- PS: Server docker requires remote access (validating:docker -H tcp://172.17.0.1:2375 version).
- 参考文章
export app_version=${BUILD_NUMBER}
mkdir -p /www/temp/jenkins/docker
cd /www/temp/jenkins/docker
tee $JOB_NAME.yml <<-'EOF'
version: '3.5'
services:
$JOB_NAME:
image: registry.cn-zhangjiakou.aliyuncs.com/fa/$JOB_NAME:${app_version}
environment:
TZ: "Asia/Shanghai"
networks:
- middleware
deploy:
replicas: 1
update_config:
parallelism: 1
restart_policy:
condition: on-failure
networks:
middleware:
external: true
EOF
docker -H tcp://172.17.0.1:2375 stack up -c $JOB_NAME.yml app --with-registry-auth