Docker + Jenkins + AWS

时间:2016-10-17 15:59:15

标签: amazon-web-services jenkins docker

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

  • 泊坞
  • 詹金斯
  • GIT
  • 的Maven
  • AWS

我打算用Jenkins图像构建一个docker容器。我怀疑如何在Docker容器中安装GIT和Maven并访问它们以从GIT存储库中使用Maven构建作业?

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

2 个答案:

答案 0 :(得分:3)

您可以在 DOCKERFILE 中创建DockerFile并提及您想要下载,安装和命令的任何内容。

请参阅Docker文档。 您甚至可以将本地资源添加到docker容器中。 一旦您构建了docker文件,图像就会准备就绪。

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

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

要在其中安装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 build和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"]

答案 1 :(得分:1)

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

这是我遇到的一个问题,我想我会尝试强有力地解决它。詹金斯很棒但是当你想将它移动到另一个系统时,你会意识到你通过安装一个服务而创建了多少行李。要解耦这个Docker是一个很好的选择,但Jenkins制作的准系统就是那个,非常准确。

Dockerfile

My article解释了dockerfile以及如何使用或扩展它

如何在AWS上运行Docker

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