zoukankan      html  css  js  c++  java
  • Docker下搭建Jenkins构建环境

    首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述。

    然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件,

    搭建Jenkins构建环境需要安装jdk、maven、tomcat、jenkins,另外还安装了GIT,用来构建GIT来源的代码,内容如下:

    FROM centos:7 
    # author info
    MAINTAINER xulijian 514045152@qq.com
    # install wget to download files
    RUN yum install wget -y
    # install git
    RUN yum install git -y
    RUN cd /opt
    # download jdk
    RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
    # download maven
    RUN wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
    # download tomcat
    RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
    # unzip jdk
    RUN tar -xvf jdk-8u131-linux-x64.tar.gz -C /opt/
    # unzip maven
    RUN tar -xvf apache-maven-3.5.0-bin.tar.gz -C /opt/
    # unzip tomcat
    RUN tar -xvf apache-tomcat-8.5.14.tar.gz -C /opt
    # set environment
    ENV JAVA_HOME /opt/jdk1.8.0_131
    ENV MAVEN_HOME /opt/apache-maven-3.5.0
    ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV PATH $JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
    # download jenkins
    RUN wget -P /opt/apache-tomcat-8.5.14/webapps http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.46.2/jenkins.war
    # startup tomcat
    CMD /opt/apache-tomcat-8.5.14/bin/catalina.sh run
    # expose memcached port
    EXPOSE 8080

    然后执行构建命令

    docker build -t liuge1988/jenkins:base -f /opt/test/dockerfile /opt/test

    -t 要生成的镜像, user/repo:tag

    -f dockerfile文件所在路径

    /opt/test 可以是任意目录,要同步拷贝到新生成镜像的目录,用于初始化目录内容

    执行完成之后,查看镜像是否正确生成。

    docker images | grep Jenkins

    镜像生成之后,可以将镜像存储到docker hub, 以后要用的时候直接从docker hub上拉取下拉就好了

    上传到docker hub,需要注册一个docker hub账号, 键入命令

    docker login

    根据提示输入用户名和密码,如果提示login success,则已经登录成功。

    然后执行推送命令,将镜像上传到docker hub

    docker push user/repo:tag

    user/repo:tag 用户/仓库:镜像标签,如liuge1988/jenkins:base

    生成镜像之后,就可以用此镜像启动一个具体的容器了。

    docker run -d -i -t --name jenkins_procloud -p 8308:8080 liuge1988/jenkins:base

    启动完成之后,执行命令查看容器是否运行成功。

    docker images | grep Jenkins

     

    容器其实就是一个轻量的linux,进入容器后跟linux系统是一样的,如果想进入容器,进行一些操作,可以执行以下命令。

    docker exec -it containerId /bin/bash

     

    要退出容器输入exit或Ctrl + D 就可以了。

    进入tomcat的bin目录,启动tomcat

    启动好tomcat之后就可以通过 主机ip:端口/jenkins 来访问jenkins了。

    http://192.168.1.111:8308/jenkins


    作者:朝雨忆轻尘

    出处:https://www.cnblogs.com/xifengxiaoma/ 

    版权所有,欢迎转载,转载请注明原文作者及出处。

  • 相关阅读:
    centos7 安装 nginx
    centos7 安装 mysql
    centos7 安装 python3.7
    nginx添加到系统命令中
    Java多线程6-线程让步
    Java多线程5-线程等待与唤醒
    Java多线程4-synchronized关键字
    Java多线程3-Thread中start和run方法的区别
    Java多线程-2-常用的实现多线程的两种方式
    java多线程1-基础概念
  • 原文地址:https://www.cnblogs.com/xifengxiaoma/p/6873688.html
Copyright © 2011-2022 走看看