zoukankan      html  css  js  c++  java
  • Docker 部署Jenkins

    Docker 部署Jenkins

    一、安装

    1.1 下载镜像

    # 官方版本文档https://hub.docker.com/_/jenkins/)
    docker pull  jenkins/jenkins:lts  # 长期更新版本
    

    1.2 启动

    docker run -u root -d --name jenkins 
    	-p 8080:8080 -p 50000:50000 
    	-v /opt/jenkins-data:/var/jenkins_home 
    	-v /etc/timezone:/etc/timezone 
    	-v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts
    
    # 启动后输入IP+端口即可打开jenkins安装页面。
    """
    /opt/jenkins-data: Jenkins 目录
    /etc/timezone: 同步容器与jenkins时间
    	若是宿主机不存在/etc/timezone文件,可以执行echo "Asia/Shanghai" > /etc/timezone
    """
    

    注意

    若是打开页面后一直处于"Please wait while Jenkins is getting ready to work ...",请重启下jenkins容器即可。
    
    """ 或者使用以下方式替换插件地址
    需要你进入jenkins的工作目录,打开-----hudson.model.UpdateCenter.xml将 url 中的 
    https://updates.jenkins.io/update-center.json
    更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    是国内的清华大学的镜像地址。
    或者更改为http://updates.jenkins.io/update-center.json,即去掉 https 中的 s。
    重启jenkins容器即可。
    """
    

    1.3 插件安装

    打开安装页面后,输入生成的初始密码,可以看到插件安装页面:
    	1、安装推荐的插件
    	2、选择插件来安装
    根据自己需求选择任意一种即可,这里我选择第一种。
    
    # 注意:若是插件安装失败,使用以下方式替换插件地址并重启容器。
    cd /opt/jenkins-data/updates/
    sed -i 's/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g' default.json
    sed -i 's/http://www.google.com/https://www.baidu.com/g' default.json
    
    插件安装完毕后,会自动跳转到admin用户注册页面,注册号用户后,即可直接登录jenkins。
    

    具体的安装过程可参考文章:https://www.cnblogs.com/tchua/p/10904508.html

    1.4 关于Docker安装Jenkins

    对于docker安装jenkins,如果我们发布java应用,可能都会面临一个问题那就是mvn、git工具的安装,因为官方的jenkins镜像并没有这些工具,
    如果我们在镜像中安装这些,那么就是去了用docker的意义。这里我们可以采用2种方式解决,当然你也可以直接在容器中安装想要的工具即可。
    1) 分布式
    也就是说,我们docker运行jenkins配置好基础环境进入jenkins UI页面后,然后新增slave节点,后续的构建操作都在slave节点操作,
    git mvn、工具在slave节点安装即可。
    2) pipline
    使用pipline的方式,我们可以在构建代码时,直接指定agent为含有mvn工具的docker镜像,这样每次构建时都会启动一个容器,构建结束后,容器自动销毁。
    
  • 相关阅读:
    Nim教程【八】(博客园撰写工具客户端更新)
    图解 MongoDB 地理位置索引的实现原理(转)
    MongoDB学习笔记(索引)(转)
    Hadoop集群WordCount运行详解(转)
    java操作mongodb(连接池)(转)
    面向对象设计七大原则(转)
    Spring中IOC和AOP的详细解释(转)
    java单例模式使用及注意事项
    java.io包的总体框架图(转)
    Java常见异常(Runtime Exception )小结(转)
  • 原文地址:https://www.cnblogs.com/tchua/p/13488749.html
Copyright © 2011-2022 走看看