Docker + Jenkins + AWS

我打算使用Jenkins实现持续集成。 但是这个CI必须在docker集装箱内实现。 使用的工具是

  • docker
  • jenkins
  • GIT
  • Maven的
  • AWS

我打算build立一个Jenkins图像的docker集装箱。 我的疑问是如何在Docker容器中安装GIT和Maven,并通过GIT存储库访问它们以使用Maven构build作业?

后来,如何将它部署到我的AWS实例?

您可以创build一个DockerFile和提及任何你想下载,安装和你想在DOCKERFILE中运行的命令

请参考相同的Docker文档。 您甚至可以将资源从本地添加到泊坞窗容器中。 一旦你build立了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) 

并build立命令等

一旦你完成了它。 你可以继续使用Jenkins控制台的命令。 确保你安装了正确的插件。 你可以很容易地弄清楚。

您也可以通过在Docker上安装JDK和Tomcat来实现持续集成。 和实现其余的maven构build和jenkins部分在容器外部,并通过jenkins放置在docker。 这种方式可以帮助您在任何Docker存储库中创build并保留Docker镜像的副本,包括对环境的更改。

但根据情况select它。

希望能帮助到你.. :)


示例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上构buildNodeJS,Ruby和Maven

这是我遇到的一个问题,我想我会努力解决它。 jenkins是伟大的,但是当你想把它移动到另一个系统时,你会意识到你通过安装一个服务而创build了多less行李。 要解耦这个Docker是一个不错的select,但Jenkins所做的准系统就是这样,非常准系统。

Dockerfile

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

如何在AWS上运行Docker

我觉得这是一个非常明显的问题,可能会想到很多解决scheme。

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