快速搭建多环境CICD-Jenkins

常用的几种方式 Jenkins、Github Action、GitLab CICD,本文先从Jenkins入手.

Jenkins

快速搭建多环境CICD-Jenkins

安装Jenkins环境

  1. 安装Docker,目的是接下来会创建一个独立的、可移植的容器.

  2. 拉取Jenkins 镜像 docker pull jenkins/jenkins

快速搭建多环境CICD-Jenkins

  1. 启动Jenkins 容器 docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins

快速搭建多环境CICD-Jenkins

  1. 获取jenkins初始密码

    1. docker ps查找 Jenkins 容器 ID

    2. docker exec -it <container_id> bash 进入 Jenkins 容器

    3. ls /var/jenkins_home/secrets/ 找到初始密码文件

快速搭建多环境CICD-Jenkins
5. 访问:http://localhost:8080/,将上面密码输入到页面中

1.  选择自选插件安装,除了默认勾选推荐的外,手动勾选NodeJS
    
2.  创建管理员账号
    
3.  下一步
    

快速搭建多环境CICD-Jenkins

Jenkins环境准备完毕,正式开始创建第一个pipeline吧!

自动化构建

下边以Git 公有仓库为例,私库思路一样,但需额外配置Credentials

  1. 点击create,输入任务名称,先创建一个Freestyle形式的pipeline

快速搭建多环境CICD-Jenkins

  1. 确认之后开始配置项目基本信息
1.  基本项选GitHub项目-填写远端github地址

2.  **源码管理**选择Git,填写仓库URL和目标分支

3.  **构建触发器**选择GitHub hook,以后推送到指定分支才触发构建

4.  **Build Steps 添加要执行的shell脚本** 

快速搭建多环境CICD-Jenkins

**至此,**自动化构建 **部分的操作已经完成!当你代码push到dev中,会触发Jenkins自动构建,构建后的产物默认会放到Jenkins 项目的工作目录中的 workspace 子目录中(Docker有所不同),**你可以在项目配置页面的 “高级项目配置” 中指定工作目录的名称.

amazing! GitHub hook trigger for GITScm polling 现在会自动检测 GitHub 上的代码提交并触发构建,不需要手动配置webhooks了. 

快速搭建多环境CICD-Jenkins

问题:

1.Jenkins 项目配置中选择了 “GitHub hook trigger for GITScm polling”,为什么没有触发自动构建?

A: Github无法跟本地部署的Jenkins建立连接,如果是布在公网服务器上就好了.

2.构建失败,** not found

A: 这可能是因为 Jenkins 在执行构建时的环境不包含 **,可以进入到Jenkins容器中查看 docker exec -it <container_id> bash以node和npm为例,如果确实没有去Jenkin首页->系统管理->插件管理 搜索安装

快速搭建多环境CICD-Jenkins

安装完去系统管理-> 全局工具配置中如下图配置:

快速搭建多环境CICD-Jenkins

终于TMD构建成功了! Jenkins的配置项真的好难理解,尤其是掺杂了汉化版之后…构建时报错npm not found,在系统管理->插件安装 安装完node之后,去系统管理->工具配置中新增node安装并指定一个node版本! 同时!!注意!!!此时丢弃之前创建的项目,需要重新创建一个构建项目!!!一定要重新创建,然后会发现在新项目配置的构建环境中多了几项:

快速搭建多环境CICD-Jenkins

快速搭建多环境CICD-Jenkins

然后执行构建,构建环境中就包含node了,相应的npm也有.

快速搭建多环境CICD-Jenkins

自动化部署

在腾讯云选购一个轻量应用服务器console.cloud.tencent.com/lighthouse/…,

这里需要用到Publish over SSH插件:

快速搭建多环境CICD-Jenkins

SSH: (Secure Shell) 它是一种用于在网络上安全地进行远程访问的协议。允许在两台计算机间建立安全连接,安全的传输数据.

快速搭建多环境CICD-Jenkins

安装完返回全局设置,设置SSH server:

快速搭建多环境CICD-Jenkins

快速搭建多环境CICD-Jenkins

快速搭建多环境CICD-Jenkins

这步其实根本机CLI连接远程服务器一样,设置之前可以使用本机连接远程服务调试:

ssh root@123.249.39.161

项目配置,会发现在构建后操作中增加了一个选项 Send build artifacts over SSH

快速搭建多环境CICD-Jenkins

快速搭建多环境CICD-Jenkins
点击开始构建,可在控制台中查看相关信息:

不出意外的话现在访问目标服务器http://123.249.39.161/ 就可以正常使用web服务了~

快速搭建多环境CICD-Jenkins

快速搭建多环境CICD-Jenkins

问题: 

1.vue build之后的index.html为什么不能直接浏览器打开?

Q: 因为需要将index.html放到静态服务器的根目录,修改构建后配置即可(如下图):

快速搭建多环境CICD-Jenkins

2.还有些其他技术细节,比如上传完构建产物,执行python3 -m http.server 80 发现80端口被占用怎么办

3.构建产物是否需要压缩上传 

4.构建部署过程监控

5.ssh连接服务器过慢 如何优化

6.区分环境部署到对应的服务器 等等

原文链接:https://juejin.cn/post/7353280369380950042 作者:yuezhongbao

(0)
上一篇 2024年4月3日 下午5:05
下一篇 2024年4月3日 下午5:17

相关推荐

发表评论

登录后才能评论