# CI/CD

centos 7,docker,jenkins

# 安装 docker

  • 下载

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  • 验证

    docker -v

  • 启动

    systemctl start docker

# 安装jenkins

https://www.jenkins.io/zh/doc/book/installing/

  • 下载镜像

    docker pull jenkinsci/blueocean

  • 验证镜像

    docker images

  • 创建容器并运行

    docker run -u root --rm -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

  • 验证容器

    docker ps

  • 打开页面

    http://localhost:8080

# 初始化jenkins

  • 登录

    进入容器查看密码,并输入密码

$ docker exec -it containerID /bin/bash
$ cd /var/jenkins_home/secrets
$ vi initialAdminPassword
1
2
3

# 新建任务

  • 配置源码管理

  • 构建触发库

    1. 勾选Gitee webhook触发构建
    2. 生成Gitee webhook密码并填写到自己的gitee项目设置中
  • 构建环境

    1. Provide Node & npm bin/ folder to PATH 勾选系统配置中的nodejs (已在jenkins系统管理中配置成功)
  • 构建

    1. 执行自己的构建命令
       npm config set registry https://registry.npmmirror.com
       npm install --verbose
       npm run build 
    
    1
    2
    3
    1. Send files or execute commands over SSH 上传构建好的包到服务器

    此处需要在jenkins系统管理中将Publish over SSH配置好,此处选择需要上传的文件即可,注意文件匹配规则!

    Source files: **/docs/.vuepress/dist/**
    Remove prefix: /docs/.vuepress/dist
    
    1
    2
  • 保存配置

# 安装nginx

  • 拉取镜像

docker run --name my-nginx -p 80:80 -v /home/blogs:/home/blogs -d nginx

docker cp /home/nginx/conf.d containerID:/etc/nginx/conf.d

# 一些问题

Last Updated: 3/4/2024, 3:06:40 PM