Jenkins + Docker + AWS 搭建CI/CD持续集成环境

515 阅读1分钟

使用Jenkins作为持续集成平台,结合Docker容器,发布项目到AWS环境的CI/CD持续集成环境搭建。

一、准备环境

  1. 安装Jenkins 在本地服务器上,安装Jenkins服务。

  2. 安装Jenkins plugins 用于Docker集成的插件:plugins.jenkins.io/docker-buil…

  3. 安装aws cli docs.aws.amazon.com/cli/v1/user… 下载对应的安装包。

# unzip awscli-budle.zip
# cd awscli-bundle
# ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
  1. 安装Docker
# yum remove docker-client
# yum remove docker-client-latest
# yum remove docker-common
# yum remove docker-latest
# yum remove docker-latest-logrotate
# yum remove docker-logrotate
# yum remove docker-engine
 
# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce docker-ce-cli containerd.iosudo yum install -y yum-utils device-mapper-persistent-data lvm2
 
# yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.119.1-1.c57a6f9.el7.noarch.rpm
 
# yum install docker-ce docker-ce-cli containerd.io
# vi /etc/yum.repos.d/docker-ce.repo
  Add the below content on the top.
  [centos-extras]
  name=Centos extras - $basearch
  baseurl=http://mirror.centos.org/centos/7/extras/x86_64
  enabled=1
  gpgcheck=1
  gpgkey=http://centos.org/keys/RPM-GPG-KEY-CentOS-7
 
# yum install slirp4netns
# yum install fuse-overlayfs
# yum install docker-ce docker-ce-cli containerd.io

二、构建Jenkins Jobs

  1. Compile code 在Job configration中,使用Source code management配置code仓库。支持的仓库类型:
  • CVS
  • Git
  • Perforce (需要安装plugin)
  1. Build Docker Image 在job confirgration中,添加Docker build and publish,配置参数。

Screenshot 2022-06-21 150402.png 3. Push Docker Image to AWS ECR

REPO_URI=**********.dkr.ecr.us-west-2.amazonaws.com
 
CMD_LOGIN=`aws ecr get-login --no-include-email --region us-west-2 --profile default`
echo $CMD_LOGIN
$CMD_LOGIN
 
docker tag ${PRIVATE_REPO}/${SERVICE_NAME}:latest ${REPO_URI}/${SERVICE_NAME}:latest
docker push ${REPO_URI}/${SERVICE_NAME}:latest

总结:实现从源码到部署的整套自动化流程,Docker Image被push到ECR上。