• Jenkins持续集成1


    在这里插入图片描述
    在这里插入图片描述

    virsh start vm3
    ssh root@172.25.0.3
    lftp 172.25.0.250
    cd pub/docs/
    cd jekins/
    ls
    get jenkins-2.338-1.1.noarch.rpm
    yum search java
    yum install java-1.8.0-openjdk.x86_64 -y #先装jdk
    rpm -ivh jenkins-2.338-1.1.noarch.rpm
    systemctl start jenkins #要确保虚拟机可以联网
    如果出现了问题,使用journalctl -xe
    systemctl status jenkins.service
    netstat -antlp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    访问:172.25.0.3:8080便会出现界面

    cd /var/lib/jenkins/
    cat hudson.model.UpdateCenter.xml #默认的插件更新中心
    
    • 1
    • 2

    在这里插入图片描述

    /etc/init.d/jenkins start #脚本启动
    cat /etc/log/messages
    
    • 1
    • 2

    如果比较慢,
    在这里插入图片描述
    使用第一条链路,查看那个站点的速度对你来说比较快。选择比较稳定的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    把连接同步到

    cd /var/lib/jenkins/
    ls
    vim hudson.model.UpdateCenter.xml
    
    • 1
    • 2
    • 3

    在走连接的时候是需要证书的。上面ppt中有,然后重启jenkins,然后会在jenkins目录中生成update

    cd update/
    其中的default.json就是上图的内容
    du -h default.json
    
    • 1
    • 2
    • 3

    使用以下文件里的密码。
    在这里插入图片描述
    安装社区推荐的,直接使用admin
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    启用中文插件,然后重新进入
    在设置里面,修改密码
    在这里插入图片描述
    实验测试
    在这里插入图片描述

    在这里插入图片描述
    Gitlab和jenkins做整合
    将gitlab的项目代码拉到jenkins
    因为使用git的方式拉取的,所以要在节点上安装git
    安装之后,会出现
    在这里插入图片描述
    添加证书

    server3
    ssh-keygen
    cd .ssh/
    cat id_rsa.pub #server3的公钥
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    将server3的公钥上传到gitlab上

    cat id_rsa #私钥
    
    • 1

    将私钥上传到里面,如果创建秘钥时有通行码的话,在passphrase中填,如果没有则不填
    在这里插入图片描述
    描述:gitlab sshkey
    在这里插入图片描述
    在这里插入图片描述
    查看其中的主分支名称
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    然后保存
    在这里插入图片描述
    在这里插入图片描述
    控制台输出
    在管理插件,选择可选插件,查询gitlab相关的
    在这里插入图片描述
    然后直接安装

    在这里插入图片描述

    在这里插入图片描述

    点击高级,生成密码
    在这里插入图片描述
    保存生效
    在这里插入图片描述
    在这里插入图片描述
    如果出错了
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    保存修改
    在这里插入图片描述
    保存之后,push一下
    在这里插入图片描述
    在这里插入图片描述

    server2
    cd project1/
    ls
    vim Dockerfile 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    git add Dockerfile 
    git commit -m "add Dockerfile"
    git push -uf prigin main
    
    • 1
    • 2
    • 3

    只是将git的代码触发了,交给jenkins
    生产环境中,
    把写好的代码封装到镜像里,通过编写Dockerfile 提交,构建任务通过jenkins自动完成。
    目前的实验是,用户将git代码上传到gitlab中,触发jenkins的webhook,通知jenkins,再由jenkins构建
    Jenkins构建:
    通过dockerfile构建镜像,并把这个镜像上传到仓库
    在这里插入图片描述
    jenkens做构建
    进入之前建的项目中,点击配置
    找到插件管理
    通过dockerfile构建镜像,并且将镜像上传到仓库
    在这里插入图片描述
    需要以上插件,点击安装

    如果此时空间不够了,在server3上装个docker

    server1
    cd harbor/
    docker-compose ps
    docker-compose start
    
    • 1
    • 2
    • 3
    • 4
    server3
    cd /etc/yum.repos.d/
    vim docker.repo
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    yum install -y docker-ce
    
    • 1
    server1
    cd /etc/sysctl.d/
    ls
    scp docker.conf server3:/etc/sysctl.d/
    
    • 1
    • 2
    • 3
    • 4
    server3
    sysctl --system
    systemctl start docker
    docker info
    cd 
    cd /etc/docker/
    ls
    vim /etc/hosts
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    172.25.0.3 server1 reg.westos.org #解析

    server1
    cd /etc/docker/
    ls
    scp -r certs.d/ server3:/etc/docker/
    scp daemon.json server3:/etc/docker/ #设置的阿里云的专属加速器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    server3
    systemctl restart docker
    ll /var/run/docker.sock
    id jenkins
    chmod 777 /var/run/docker.sock #让Jenkins用户可以访问这个docker引擎
    
    • 1
    • 2
    • 3
    • 4
    • 5

    unix://表示本机
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    测试
    手动触发
    在这里插入图片描述
    在这里插入图片描述
    点击进去,查看控制台
    数据在

    server3
    cd /var/lib/jenkins/workspace/
    cd test
    ls
    cat index.html
    cat Dockerfile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    通过jenkins交付
    在没有测试成功之前,不给签名
    做测试
    在这里插入图片描述
    这个项目中不需要git,因为这个项目是为了跑docker的
    在这里插入图片描述
    在这里插入图片描述

    为什么要删除镜像,因为如果镜像已经是最新的,就不会在仓库中拉取镜像,还是会使用本机的。

    server3
    curl localhost
    
    • 1
    • 2

    思路:
    用户 git push到 gitlab 触发jenkins,jenkins构建和Push镜像到harbor仓库, 第二个项目是第一个项目稳定创建之后才会触发,然后会触发第二个项目,开始执行第二个项目。
    可能还需要解决一个问题:如果构建项目过多,那样会影响平台的正常运作,所以会把这些操作分不到不同节点上去操作,
    怎么交付到远端主机上

    server4
    cim daemon.json
    
    • 1
    • 2

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在配置中
    在这里插入图片描述

    删除server3上的容器
    docker ps 
    docker rm -f webserver
    
    • 1
    • 2
    • 3
    server4
    docker ps
    
    • 1
    • 2
    server2
    cd project1/
    ls
    vim index.html
    git commit -a -m "updata v3"
    git push -uf origin main
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以把jenkins和k8s整合和云端整合

  • 相关阅读:
    SVN报错fail to run the WC Db work queue associated with,清理失败,乱码的解决方式
    python爬虫练习18:爬虫抓取视频思路2
    【Verilog刷题篇】硬件工程师从0到入门2|组合逻辑
    解决uniapp打包过大问题的实用方法
    数据库学习之视图和用户管理
    解决requests库中UnicodeError异常的问题
    婴儿摇篮出口美国CPC认证要求
    MAC电脑运行windows程序或者游戏怎么办,crossover介绍,
    Java8-CompletableFuture的使用
    第六章-项目进度管理
  • 原文地址:https://blog.csdn.net/weixin_46754666/article/details/125132848