繁体   English   中英

Dockerfile - 在 AWS 上安装 jenkins

[英]Dockerfile - install jenkins on AWS

AWS 的新手,因此我们将不胜感激。

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

谁能分享一个更好的分步教程来实现这一目标? 上面的页面似乎不完整。

它谈到“Doc​​kerfile 还应该包含安装 Jenkins Amazon ECS 插件的步骤”,但没有展示如何使用 Dockerfile 安装插件。

谢谢

请按照以下步骤操作:

  1. 根据您的需要启动 EC2 集群。
  2. 在本地机器上安装 docker。 例如,对于 ubuntu ( sudo apt-get isntall docker.io )
  3. systemctl start docker
  4. 为我们的 jenkins docker 创建新文件夹。 使用以下内容在其中创建新的 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>将上述命令返回的输出运行到aws ecr get-login --region <REGION> 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 docker 镜像已准备就绪。 但是这个 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 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
内存限制:2000M
端口:
- “8080:8080”
- “50000:50000”
卷来自:
- jenkins_dv
jenkins_dv:
图片:jenkins_dv
cpu_shares: 100
内存限制:500M


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

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM