Docker + Jenkins + AWS



我计划使用Jenkins实现持续集成。但是这种CI必须在docker容器中实现。使用的工具有

  • 码头工人
  • 詹金斯
  • GIT
  • Maven AWS

我计划用Jenkins映像构建一个docker容器。我的疑问是如何在Docker容器中安装GIT和Maven,并访问它们以从GIT存储库中使用Maven构建作业?

之后,如何将其部署到我的AWS实例?

您可以创建一个DockerFile,并在 DockerFile 中提及您想要下载,安装和想要运行的命令。

参考Docker文档。您甚至可以将本地的资源添加到docker容器中。一旦构建docker文件,映像就准备好了。

在Docker容器中安装Git和Maven。您需要包含资源的源链接和安装命令。

下面我提到了一个示例docker文件来安装JDK和Tomcat。

要在其中安装Git和Maven,您需要添加以下行:

GIT:

RUN apt-get update && 
sudo apt-get install git
Maven:

RUN wget http://mirror.olnevhost.net/pub/apache/maven/binaries/apache-maven-3.2.1-bin.tar.gz
ENV (your Path)

和构建命令等…

一旦你完成它。无论如何,您可以使用Jenkins控制台继续执行命令。确保你安装了正确的插件。你可以很容易地弄明白。

您也可以通过以下方式实现持续集成在docker上只安装JDK和Tomcat。和在容器外实现剩余的maven构建和jenkins部分,并通过jenkins将其放置在docker中。这种方法可以帮助您在任何docker存储库中创建和保存docker映像的副本,因为您要对环境进行更改。

但是根据场景选择。

希望它能帮助…:)


Docker示例文件:::


FROM ubuntu:latest
MAINTAINER Sarat <sarat.e99@gmail.com>
RUN apt-get update && 
    apt-get install -yq --no-install-recommends wget pwgen ca-certificates && 
    apt-get clean && 
    rm -rf /var/lib/apt/lists/*
ENV TOMCAT_MAJOR_VERSION 8
ENV TOMCAT_MINOR_VERSION 8.0.11
ENV CATALINA_HOME /tomcat
# Install dependencies
RUN apt-get update && 
apt-get install -y git build-essential curl wget software-properties-common zip unzip
# Install JDK 8
RUN 
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && 
add-apt-repository -y ppa:webupd8team/java && 
apt-get update && 
apt-get install -y oracle-java8-installer wget unzip tar && 
rm -rf /var/lib/apt/lists/* && 
rm -rf /var/cache/oracle-jdk8-installer
# Define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
# INSTALL TOMCAT
RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && 
    wget -qO- https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz.md5 | md5sum -c - && 
    tar zxf apache-tomcat-*.tar.gz && 
    rm apache-tomcat-*.tar.gz && 
    mv apache-tomcat* tomcat
ADD user.sh /user.sh
ADD run.sh /run.sh
RUN chmod +x /*.sh
#EXPOSE 8080
CMD ["/run.sh"]

如何让Jenkins在Docker上构建NodeJS, Ruby和Maven

这是我面临的一个问题,我想我应该尽力解决它。Jenkins很好,但是当你想把它转移到另一个系统时,你会意识到你安装了一个又一个它所依赖的服务,造成了多大的负担。解耦Docker是一个很好的选择,但是Jenkins做的是一个非常简单的Docker。

Dockerfile

我的文章解释dockerfile以及如何使用或扩展它

如何在AWS上运行Docker

我觉得这是一个非常明显的问题,可能有很多解决方案浮现在脑海中。

  • 使用docker的标准示例将docker直接安装到EC2实例上。
  • 使用AWS EC2容器服务。他们创建了一个完整的服务,使在AWS上运行Docker更容易。

最新更新