Dockerfile-在AWS上安装jenkins

时间:2019-02-23 02:48:28

标签: amazon-web-services docker jenkins

AWS的新功能,将不胜感激。

我正在尝试通过AWS上的Docker运行Jenkins。我发现了这篇文章https://docs.aws.amazon.com/aws-technical-content/latest/jenkins-on-aws/containerized-deployment.html

任何人都可以分享更好的分步教程来实现这一目标吗?上面的页面似乎不完整。

它讨论了“ Dockerfile还应该包含安装Jenkins Amazon ECS插件的步骤”,但是没有显示如何使用Dockerfile安装插件。

谢谢

1 个答案:

答案 0 :(得分:0)

请按照以下步骤操作:

  1. 根据您的需求启动EC2集群。
  2. 在本地计算机上安装docker。例如,对于ubuntu(sudo apt-get isntall docker.io
  3. systemctl start docker
  4. 为我们的詹金斯码头工人创建新文件夹。在其中创建具有以下内容的新Dockerfile。 FROM Jenkins COPY plugins.txt /usr/share/jenkins/plugins.txt RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt
  5. 在同一文件夹中创建plugins.txt并添加以下行 amazon-ecs:1.3
  6. 使用aws cli登录到ECR。首先使用您的凭据配置AWS。 aws ecr get-login --region <REGION> 运行从上述命令返回的输出到docker login。
  7. sudo docker build -t jenkins_master .
  8. sudo docker tag jenkins_master:latest <AWS ACC ID>.dkr.ecr.<REGION>.amazonaws.com/jenkins_master:latest
  9. 在ECR中为此图像创建存储库 aws ecr create-repository --repository-name jenkins_master
  10. 将图像推送到AWS ECR中。 sudo docker push <AWS ACC ID>.dkr.ecr.<REGION>+.amazonaws.com/jenkins_master:latest
  11. 我们的Jenkins码头工人镜像已准备就绪。但是此Jenkins服务器存储的数据将不会持久保存。为了永久存储数据,我们将创建另一个docker映像,该映像将创建带有安装点的卷。为此,请为此新docker映像创建一个新目录,并在其中创建具有以下内容的另一个Dockerfile。 FROM Jenkins VOLUME ["/var/jenkins_home"]
  12. 再次遵循相同的命令将该新存储库推送到ECR。 sudo docker build -t jenkins_dv . sudo docker tag jenkins_dv:latest <AWS ACC ID>.dkr.ecr.<REGION>.amazonaws.com/jenkins_dv:latest aws ecr create-repository --repository-name jenkins_dv sudo docker push <AWS Account Number>.dkr.ecr.<REGION>.amazonaws.com/jenkins_dv:latest
  13. 现在我们的图像已经准备好了。我们将使用此映像在ECS集群上将它们作为服务运行。为此,我们需要使用以下针对Linux的命令安装ecs-cli。 sudo curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-latest
  14. 使用以下内容创建一个新的txt文件,该文件将具有jenkins配置。
jenkins_master:
图片:jenkins_master
cpu_shares:100
mem_limit:2000M
端口:
-“ 8080:8080”
-“ 50000:50000”
volume_from:
-jenkins_dv
jenkins_dv:
图像:jenkins_dv
cpu_shares:100
mem_limit:500M


 15.最后,使用上面的文件将此服务推送到您新创建的群集中。 ecs-cli compose --file docker_compose.txt service up --cluster <cluster_name>

希望这会有所帮助!