Jenkins持続的統合ソリューション


Jenkins持続的統合ソリューション

  • jenkins持続的統合ソリューション
  • 0縁起
  • 1環境準備
  • 2構築スクリプト
  • 3 Dockerfileの作成
  • 4フロー

  • 0縁起


    テスト環境は絶えずコードを変更して発表する必要があり、特に面倒で時間がかかるため、テストの大物を学んで持続的な統合を構築した.
    採用技術:コードクラウド/svn/github+maven+jenkins+docker

    1環境準備

  • linuxシステム
  • https://www.cnblogs.com/zuxing/articles/8718591.html
    centos 7 ipaddrは仮想マシンのIP解決方法を表示できません
    https://blog.csdn.net/wxx729418277/article/details/79130649
  • jdk

  • https://www.cnblogs.com/chy123/p/6750351.html
  • maven

  • https://blog.csdn.net/wakakaC/article/details/77688440
  • docker

  • https://blog.csdn.net/doegoo/article/details/80062132
  • tomcat

  • これは簡単には言わない
  • git

  • https://blog.csdn.net/wangfei0904306/article/details/57113408
  • jenkins

  • 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 
  • このスクリプトの実行ディレクトリはjenkinsの構築ディレクトリにあり、私の本体は:/root/.jenkins/workspace/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プロセス


    自動構築の流れについてお話しします
  • 1ユーザーjenkinsで構築
  • をクリック
  • 2 jenkins配置されたgitアドレスに基づいて、ソースコードdownを
  • に下ります.
  • 3は次に、上記の構成の構築スクリプトを実行して、削除するコンテナとミラーを実行し、
  • を起動するために新しいコンテナとミラーを構築する.
  • 4もっとスマートにコードクラウドにwebhookを配置したいなら、コードを更新するときに自動的に
  • を構築します.
    Webhookリファレンス:https://blog.csdn.net/xlgen157387/article/details/72852428(webhookだけ見ればいい)