美文网首页
Docker搭建jenkins+maven项目

Docker搭建jenkins+maven项目

作者: 毛_毛_虫_ | 来源:发表于2020-09-21 18:04 被阅读0次

    docker 相关教程

    参考《菜鸟教程-docker教程》《docker中文社区》 等。docker环境安装好后,熟悉docker常用的命令。

    安装jenkins

    搜索jenkins镜像

    docker search jenkins
    

    可得到结果:

    NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    jenkins                                Official Jenkins Docker image                   4915                [OK]                
    jenkins/jenkins                        The leading open source automation server       2228                                    
    jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           566                                     
    jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   383                                     
    ...
    

    拉去镜像

    注意拉取的镜像是 jenkins/jenkins

    docker pull  jenkins/jenkins
    

    拉取镜像完成

    Using default tag: latest
    latest: Pulling from jenkins/jenkins
    ... 省略
    Digest: sha256:9d9c74f1cabb2ecab899518fe75db0af2d268fae24787523da90d29fadf2716e
    Status: Downloaded newer image for jenkins/jenkins:latest
    docker.io/jenkins/jenkins:latest
    

    查看拉取的镜像

    # docker images
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    jenkins/jenkins       latest              c85003278768        6 days ago          708MB
    

    启动镜像

    docker run --restart=always -p 8888:8080 -p 50000:50000 -v /home/jenkins-home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/apache-maven-3.6.3:/usr/local/maven   --name jenkins -d jenkins/jenkins
    

    启动参数说明
    --restart=always 在容器停止运行的时候,重启容器。用于开机自启和容器意外关闭时的自启动
    -v /home/jenkins-home:/var/jenkins_home 将宿主机的 /home/jenkins-home 目录挂载到 /var/jenkins_home。这样做是为了把Jenkins文件存放到宿主机上,就算容器被删除了,新建一个新的容器内容也不会丢失。
    -v /var/run/docker.sock:/var/run/docker.sock jenkins容器与Docker守护进程通信, 如果jenkins容器需要实例化其他Docker容器,则该守护进程是必需的。
    -v /usr/local/apache-maven-3.6.3:/usr/local/maven 挂在Maven目录 这里有个坑,刚开始没有挂载maven目录的情况下jenkins配置时会找不到mavne
    -p 8888:8080 -p 50000:50000 宿主机8888绑定容器8080端口 宿主机50000端口绑定容器50000端口。如果是云服务器 阿里云腾讯云华为云,需要开放端口8888,否则会访问不到。
    --name jenkins 给容器命名
    -d 容器后台运行

    查看jenkins启动的容器

     docker ps -a
    CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
    92677942e985        b9734fc9070e          "/sbin/tini -- /usr/…"   19 hours ago        Up 19 hours         0.0.0.0:50000->50000/tcp, 0.0.0.0:8888->8080/tcp   jenkins
    

    浏览器访问jenkins

    http://IP:8888/
    

    解锁jenkins文件密码,并按照推荐安装插件

    链接访问效果
    推荐安装插件

    jenkins 配置

    插件配置

    安装插件: Maven Integrationdocker-build-step

    image.png
    image.png
    maven 配置的位置是挂载的宿主机的maven安装目录

    运行mvn命令实际是执行java命令,既然是运行java,那么运行java命令可用的参数当然也应该在运行mvn命令时可用。这个时候
    MAVEN_OPTS环境变量就能派上用场。
    通常需要设置MAVEN_OPTS的值为 -Xms128m -Xmx512m 因为Java默认的最大可用内存往往不够满足Maven运行需要,比如较大的项目时,使用Maven生成项目站点需要占用大量内存。如果没有该配置,则很容易得到java.lang.OutOfMeneoryError。因此,一开始就配置该变量是推荐的做法。


    image.png

    maven 配置完成可以完成后续操作新建maven项目

    相关文章

      网友评论

          本文标题:Docker搭建jenkins+maven项目

          本文链接:https://www.haomeiwen.com/subject/ajtbyktx.html