详解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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jenkins构建Docker 镜像实例详解

     jenkins构建Docker 镜像实例详解 前言:jenkins有Docker镜像,而之前我们说过使用jenkins打包Docker镜像,那么可否用jenkins的Docker镜像打包Docker镜像呢? 环境: CentOS 7     Docker 1.10.3 1.本机安装docker环境,并配置TCP访问接口 # vi /usr/lib/systemd/system/docker.service 修改ExecStart为: ExecStart=/usr/bin/docker daem

  • 详解Docker下搭建Jenkins构建环境

    首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件, 搭建Jenkins构建环境需要安装jdk.maven.tomcat.jenkins,另外还安装了GIT,用来构建GIT来源的代码,内容如下: FROM centos:7 # author info MAINTAINER xulijian 514045152@qq.com # instal

  • 详解docker compose搭建lnmpr环境实现

    目录 使用docker-compose搭建lnmpr环境 介绍 软件架构 Compose 简介 具体文件内容docker-compose.yml 使用说明 使用docker-compose搭建lnmpr环境 本文环境 docker20.10,PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6.0 + Redis6.0 + Swoole2.0 介绍 docker-compose搭建PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6

  • 详解基于webpack搭建react运行环境

    最近由于项目需要,所以尝试使用webpack搭建react运行环境,在克服了一系列困难后,终于能在页面输出"Hello World",特地把整个过程记录下来,利人利己. 首先我创建了一个文件夹webpack-helloworld-demo,之后的大部分操作都会在这个文件夹下进行. 1.初始化文件夹 npm init //初始化一个package.json文件 git init //产生.git文件,便于之后版本提交回退 2.搭建webpack环境 npm install webpack

  • 详解docker下的Mysql镜像的使用方法

    通常初学者学习docker时,不太清楚怎样拉取一个Mysql镜像并使用,今天这篇文章简单介绍一下使用流程. 一.预习一下用到的docker命令: 1.docker images 列出本地主机上的镜像. 2.docker pull 从Docker Hub中拉取或者更新指定镜像. 3.docker run -d 标识是让 docker 容器在后台运行. -p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上. --name 定义一个容器的名字,如果在执行docker run时没

  • 详解Docker下nginx外挂配置和文件

    外挂文件的目的: 文件不受docker镜像文件的约束,可以修改,重启容器,可以使用更新后的文件,不会被镜像还原 容器运行过程中记录的文件如日志等信息,可以被自动保存在外部存储上,不会由于容器重启而丢失 而运行容器有两种方式: docker run命令 docker-compose命令 docker run命令方式,通过-v参数挂载外部主机目录到容器内的路径上,有多个挂载点,就通过多个-v参数指定,而且只能使用绝对路径:docker-compose命令则通过service的方式描述容易,准确的说一

  • 详解centos下搭建redis集群

    必备的工具: redis-3.0.0.tar redis-3.0.0.gem (ruby和redis接口) 分析: 首先,集群数需要基数,这里搭建一个简单的redis集群(6个redis实例进行集群). 在一台服务器上操作,因此仅需要6个不同的端口号即可.分别是:7001.7002.7003.7004.7005.7006. 步骤: 1.上传redis-3.0.0.tar到服务器(自己指定自己的软件目录),解压redis-3.0.0.tar. 2.安装c语言环境(安装centos之后,自带c语言环

  • 详解Docker Compose 中可用的环境变量问题

    Compose 的多个部分在某种情况下处理环境变量.本教程可以帮助你找到所需的信息. 1. 替换Compose文件中的环境变量 可以使用 shell 中的环境变量填充 Compose 文件中的值: web: image: "webapp:${TAG}" 更多信息请参考 Compose 文件手册中的 Variable substitution章节. 2. 设置容器中的环境变量 可以通过 environment 关键字设置服务容器中的环境变量,就跟使用 docker run -e VARI

  • 详解Docker 下开发 hyperf 完整使用示例

    Hyperf官方网站 Hyperf 官方文档安装篇 1. docker 使用 docker search 列出 hyperf 镜像 docker pull 下载镜像到本地 运行 镜像并且将目录挂载到当前目录下文件夹 内,同时依照 /bin/sh 的方式运行 进入到 hyperf-skeleton 目录,此目录是和本地挂靠的 $ docker search hyperf $ docker pull hyperf/hyperf $ docker run -v $PWD/:/hyperf-skelet

  • 详解Linux下搭建VPN服务器(CentOS、pptp)

    本文介绍在安装CentOS操作系统的Xen VPS上,如何搭建PPTP VPN服务.包括PPTP的安装.配置,以及相应的iptables规则.本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇.2011年7月20日更新:在安全建议这一部分,增加了使用不同的IP地址,分别提供VPN服务和Web等其他常规服务,以及使用不同IP地址时如何书写iptables规则的内容. 写在前面 在Godaddy一美元COM域名的怂恿下,这几天先是拿到了这个gnailuy.com,然

  • 详解Ubuntu 从零开始搭建Python开发环境

    环境:Ubuntu 16.04 以下命令若无加粗备注说明在本地计算机操作,则都是在服务器端操作 1 修改Ubuntu软件源 Ubuntu安装好之后,安装软件源的服务器地址在境外,速度会比较慢,因此建议修改软件源为国内镜像,这样安装和更新软件会更快些,此处使用的是清华大学开源软件镜像 1.1 备份原有软件源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 1.2 修改软件源为国内镜像 用编辑器打开/etc/apt/sourc

随机推荐