Jenkins持続的統合ソリューション
5013 ワード
Jenkins持続的統合ソリューション
0縁起
テスト環境は絶えずコードを変更して発表する必要があり、特に面倒で時間がかかるため、テストの大物を学んで持続的な統合を構築した.
採用技術:コードクラウド/svn/github+maven+jenkins+docker
1環境準備
centos 7 ipaddrは仮想マシンのIP解決方法を表示できません
https://blog.csdn.net/wxx729418277/article/details/79130649
https://www.cnblogs.com/chy123/p/6750351.html
https://blog.csdn.net/wakakaC/article/details/77688440
https://blog.csdn.net/doegoo/article/details/80062132
これは簡単には言わない
https://blog.csdn.net/wangfei0904306/article/details/57113408
https://blog.csdn.net/yue31313/article/details/79884625
前の環境の準備が終わったら、最後のブログに従ってjenkinsを配置します.
2構築スクリプト
このコンストラクションスクリプトはjenkins構成に入力されます
#!/bin/sh
echo $ref
mvn clean package
# image-name=" " image-container-name=" "
echo " , :${image-name}, :${image-container-name}"
#
docker rm -f ${image-container-name}
docker rmi -f ${image-name}
# dockerfile ,
docker build -t ${image-name} .
docker run -d -p 8888:8888 --name="${image-container-name}" [-v { }:{ }] ${image-name}
#!/bin/sh
echo $ref
mvn clean package
echo " , :test, :test-container"
#
docker rm -f test-container
docker rmi -f test
# dockerfile ,
docker build -t test .
docker run -d -p 8888:8888 --name="test-container" test
本機のディレクトリ構造は以下の通りです.
[root@localhost test]# cd /root/.jenkins/workspace/test
[root@localhost test]# ll
12
-rw-r-----. 1 root root 234 9 5 22:16 Dockerfile
-rw-r-----. 1 root root 1628 9 5 19:15 pom.xml
-rw-r-----. 1 root root 1338 9 5 19:15 README.md
drwxr-x---. 4 root root 30 9 5 19:15 src
drwxr-x---. 9 root root 233 9 5 22:49 target
3 Dockerfileの作成
私の地元のDockerfileはプロジェクトのルートディレクトリの下にあります.
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD target/test-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
4プロセス
自動構築の流れについてお話しします
Webhookリファレンス:https://blog.csdn.net/xlgen157387/article/details/72852428(webhookだけ見ればいい)