• ubuntu中用docker部署jenkins,并和码云实现自动化部署


    1.部署jenkins

    docker network create jenkins
    1. docker run --name jenkins-docker --rm --detach \
    2. --privileged --network jenkins --network-alias docker \
    3. --env DOCKER_TLS_CERTDIR=/certs \
    4. --volume jenkins-docker-certs:/certs/client \
    5. --volume jenkins-data:/var/jenkins_home \
    6. --publish 2376:2376 \
    7. docker:dind --storage-driver overlay2

    新建一个Dockerfile文件,复制下面的内容保存 

    1. FROM jenkins/jenkins:2.426.1-jdk17
    2. USER root
    3. RUN apt-get update && apt-get install -y lsb-release
    4. RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
    5. https://download.docker.com/linux/debian/gpg
    6. RUN echo "deb [arch=$(dpkg --print-architecture) \
    7. signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
    8. https://download.docker.com/linux/debian \
    9. $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    10. RUN apt-get update && apt-get install -y docker-ce-cli
    11. USER jenkins
    12. RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    docker build -t myjenkins-blueocean:2.426.1-1 .

    上面生成镜像很慢的话,可以买国外的服务器生成好后,再弄到自己的服务器起服务

    1. docker run --name jenkins-blueocean --restart=on-failure --detach \
    2. --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
    3. --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
    4. --publish 8080:8080 --publish 50000:50000 \
    5. --volume jenkins-data:/var/jenkins_home \
    6. --volume jenkins-docker-certs:/certs/client:ro \
    7. myjenkins-blueocean:2.426.1-1

    2.解锁jenkins

    浏览到http://localhost:8080(或安装 Jenkins 时为 Jenkins 配置的任何端口)并等待“解锁 Jenkins”页面出现 

     

    如果您使用官方jenkins/jenkins镜像在 Docker 中运行 Jenkins,您可以使用它sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword在控制台中打印密码,而无需在容器中执行

    安装推荐的插件 

    安装自己的插件

    1.generic-webhook-trigger

    新建任务

    选择多分支流水线

     

    只触发master分支

     保存

    码云仓库里面的管理里的webhooks的url中填写http://JENKINS_URL/generic-webhook-trigger/invoke?token=test_token

    JENKINS_URL 变量为jenkins的服务地址  如 http://183.37.35.44:8080

     项目中的Jenkinsfile 文件中 GenericTrigger的token要与上面url的token对应

     完毕 现在可以提交代码自动触发部署了

    gitlab同理 

  • 相关阅读:
    AR人脸美颜特效解决方案,打造全方位美颜美妆新时代
    Node与ES6模块
    论文投稿指南——中国(中文EI)期刊推荐(第1期)
    人工智能、深度学习、机器学习常见面试题321~324
    epoll比select和poll究竟高效在哪儿(剖析及实现)
    fs.file-max与ulimit open files值的区别
    【Java】IO流原理及流的分类(FileInputStream和FileOutputStream方法详解)
    【数据挖掘】顺丰科技2022年秋招大数据挖掘与分析工程师笔试题
    会计科目分类
    基于JavaSwing开发植物连连看游戏 课程设计 大作业源码
  • 原文地址:https://blog.csdn.net/txl910514/article/details/134476154