Jekins环境搭建

2024/11/16 14:18 PM

为了配合内部项目自动化部署和集成,我准备搭建一套Jekins。Jekins提供了非常丰富的安装形式:https://www.jenkins.io/doc/book/installing,为了部署方便,我们准备采用Docker方式安装。

Docker环境准备

这个我应该讲过,请参考服务器准备Docker环境这一篇文章。

创建Jekins专有网络

docker network create jenkins

docker:dind容器运行

在 Jenkins 节点中执行 Docker 命令,可以通过运行 docker:dind(Docker-in-Docker)镜像来设置一个环境。以下是运行 docker:dind 容器的命令:

docker run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2
  
FROM jenkins/jenkins:2.492.1-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
docker build -t myjenkins-blueocean:2.492.1 .
docker run \
--name jenkins\
--restart=on-failure \
--detach \
--network jenkins \
--env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client \
--env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 \
--publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
jekins