1.部署jenkins
docker network create jenkins
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
新建一个Dockerfile文件,复制下面的内容保存
FROM jenkins/jenkins:2.426.1-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.asc] $(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.426.1-1 .
上面生成镜像很慢的话,可以买国外的服务器生成好后,再弄到自己的服务器起服务
docker run --name jenkins-blueocean --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 myjenkins-blueocean:2.426.1-1
2.解锁jenkins
浏览到localhost:8080
(或安装 Jenkins 时为 Jenkins 配置的任何端口)并等待“解锁 Jenkins”页面出现
如果您使用官方jenkins/jenkins
镜像在 Docker 中运行 Jenkins,您可以使用它sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword
在控制台中打印密码,而无需在容器中执行
安装推荐的插件
安装自己的插件
新建任务
选择多分支流水线
只触发master分支
保存
码云仓库里面的管理里的webhooks的url中填写JENKINS_URL/generic-webhook-trigger/invoke?token=test_token
JENKINS_URL 变量为jenkins的服务地址 如 183.37.35.44:8080
项目中的Jenkinsfile 文件中 GenericTrigger的token要与上面url的token对应
完毕 现在可以提交代码自动触发部署了
gitlab同理
本文发布于:2024-02-01 08:47:52,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674847435382.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |