zoukankan      html  css  js  c++  java
  • Docker中完成Jenkins的安装

      去年就开始学习采用Docker+Jenkins+.Net Core搭建生成式流水线,一直拖到现在,也没有彻底的好好静下来去总结总结。趁着现在对自己的严格要求下,逐渐开始重视自我总结,以此来巩固逐渐失去的知识。

      本文地址:https://www.cnblogs.com/CKExp/p/9536864.html 

    一、安装Docker

      这里可以参考之前写过的一篇文章:https://www.cnblogs.com/CKExp/p/8159269.html 内容比较简单,但还算是能够实用,安装的Docker版本是1.13.1,服务器版本是CentOS7.2。

    二、安装Jenkins

      先说明一下,在Jenkins安装时,我们需要在里面配置号Docker Compose组件,以此来支撑我们在后面同时发布多个网站或服务。有关docker compose知识可以参见https://yeasy.gitbooks.io/docker_practice/content/swarm/

      所以我们不直接拉取Jenkins镜像,通过Dockerfile的形式来拉取Jenkins镜像,并在容器内安装好Docker Compose组件。而不单独在宿主机上安装Docker Compose,尽管那样也没问题,只需将应用程序直接部署到宿主机上就行,但是就失去了我们想要设计成流水线的目的了。

      先创建一个Jenkins文件夹并编写Dockerfile文件:

    1 # cd /
    2 # mkdir Jenkins
    3 # cd Jenkins
    4 # touch Dockerfile
    5 # vim Dockerfile

      Dockerfile文件内容:

    FROM jenkins
    USER root
    
    #更新源并安装libltdl7
    RUN apt-get update && apt-get install -y libltdl7
    ARG dockerGid=999
    RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group 
    
    # 安装 Docker-Compose
    RUN curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-'uname -s'-'uname -m' -o /usr/local/bin/docker-compose
    # 授权
    RUN chmod +x /usr/local/bin/docker-compose

      开始构建该镜像

    # docker build . -t myjenkinsimage

      等待一会终于可以了,注意一下,如果在安装Docker-Compose时提示出错了,请看一下对应路径中 ‘uname -s'-'uname -m' 是否是这样写的,直接安装Docker Compose的写法是$(uname -s)-$(uname -m)。

       先来配置一个存放jenkins配置信息的文件夹并修改文件夹权限,该文件夹名是在Jenkins容器中对应的Jenkins_home文件夹,所以我们也最好直接取上这个名字即可。

    # mkdir -p /var/jenkins_home
    # chown -R 1000 /var/jenkins_home

      开始运行一个以Jenkins为镜像的容器并挂载Docker套接字,以便能在容器里与Docker守护进程互动,指明Jenkins数据挂载到宿主机位置和设置容器名称,基础镜像名称等。

    # docker run -d --name JenkinsContainer -p 8080:8080 -p 50000:50000 
        -v /var/run/docker.sock:/var/run/docker.sock 
        -v $(which docker):/bin/docker 
        -v /var/jenkins_home :/var/jenkins_home 
        myjenkinsimage

       启动成功,容器已经创建完毕

      

     三、配置Jenkins

      现在Jenkins容器已经正常运行了,可以通过ip:port去访问并配置。首次访问后将看到这个界面,配置密码。

      

      需要从容器里面查看一下密码,以交互状态进入容器并查看对应路径下文件密码。

    # docker exec -it JenkinsContainer /bin/bash
    # cat /var/jenkins_home/secrets/initialAdminPassword

       得到密码,继续下面的配置步骤,选择推荐安装的插件,然后等待安装完成。

     

      安装完毕,开始设置用户账号信息,设置完毕,进入界面,整个Jenkins安装且配置也就全部结束了。

    接下来将开始设置Asp.Net Core应用程序的Dockerfile及Docker Compose实现生成式流水线的搭建,同时感谢@Loongle的文章,少走许多弯路。

    本文地址:https://www.cnblogs.com/CKExp/p/9536864.html 

    2018-08-31,望技术有成后能回来看见自己的脚步
  • 相关阅读:
    软件工程概论总结第三章
    软件工程概论总结第二章
    软件工程概论总结
    软件工程概论10-软件测试
    软件工程概论9-软件实现
    软件工程概论-8面向对象设计
    软件工程概论-7面向对象分析
    软件工程概论-6面向对象基础
    软件工程概论-5软件工程中的形式化方法
    软件工程概论-4需求过程
  • 原文地址:https://www.cnblogs.com/CKExp/p/9536864.html
Copyright © 2011-2022 走看看