介绍
Jenkins是一个流行的持续集成和持续交付工具,可以帮助开发团队自动化构建、测试和部署软件。在阿里云服务器上配置 Jenkins,你可以轻松地创建和管理不同的 CI/CD 管道。本文将为你介绍阿里云服务器上配置 Jenkins 的步骤。
步骤1:创建阿里云服务器(ECS)
首先,在阿里云控制台上创建一台 ECS 实例。确保你选择的 ECS 规格能够满足 Jenkins 运行所需的资源要求。选择一个适合的操作系统,如 Ubuntu 或 CentOS,并分配一个公网 IP 地址。
步骤2:登录服务器并更新系统
使用 SSH 客户端登录到你的 ECS 实例。运行以下命令更新系统软件包:
sudo apt update # 如果使用 Ubuntu
sudo yum update # 如果使用 CentOS
从这篇文章云部署:阿里云Docker+Jenkins构建自动化部署一#记
我们可以使用docker安装 Jenkins镜像 至于安装步骤,可以移步我上一篇文章。
接下来我们开始安装和使用Jenkins
验证Jenkins
浏览器输入服务器地址:8080/jenkins_home
会提示要输入密码,密码位于docker/jenkins_home/secrets/initialAdminPassword
centos
可以使用命令:
cat /docker/jenkins_home/secrets/initialAdminPassword
或者用可视化操作查找
提示安装,使用推荐的
然后创建一个管理员
配置好服务后,就会进入到这个界面
我这里默认就安装了中文包,如果忘记初始化的时候选择中文包,则可以通过【Dashboard】——>【Manage Jenkins】——>【Plugins】——>【Available plugins】,搜索local
,选择localization Chiness
,点击install
进行安装。
安装完成后,重启Jenkins或者在浏览器输入服务器地址:8080/jenkins_home/restart
。
安装gitee插件
选择不重启安装
安装完成后手动重启jenkins容器
docker restart jenkins
创建jenkins任务
安装Publish Over SSH、NodeJS
同样的方式这里不再具体操作,【Dashboard】——>【Manage Jenkins】——>【Plugins】——>【Available plugins】,搜索Publish Over SSH
、NodeJS
,安装后重启。
(1)Publish Over SSH配置远程服务器
Publish Over SSH
用来连接远程服务器,接下来去设置连接远程服务器验证方式,本案例采用密码验证。 找到Publish Over SSH
,点击新增
在新增
后出来的面板中输入信息,之后点击高级
输入密码
、服务器端口
,并点击Test Configuration Success
进行测试,显示successs
则成功,之后先点击应用
,再保存
这一个步骤可以借鉴该篇文章juejin.cn/post/730603…
GitHub webHooks配置
在gitee配置webhooks
payload URL
在jenkins项目里面配置,如下:
然后生成密码:
然后将URL和密码添加到在gitee的webhooks里面
手动触发webhook无法生效:
最后,再本地提交代码触发自动构建
配置项目邮件通知
-
进入项目的配置页面,找到“Post-build Actions”部分,点击“Add post-build action”按钮并选择“Editable Email Notification”。
-
配置邮件接收者、主题、内容等信息。
-
如果在第2步中全局配置了这里都不用填写,直接默认就可以。
-
-
定制化的是
-
-
标题是:
-
构建通知:${BUILD_STATUS} - ${PROJECT_NAME} - Build # ${BUILD_NUMBER}
-
内容是:
(自动化构建邮件,无需回复!)
项目名称:$PROJECT_NAME
项目描述:$JOB_DESCRIPTION
运行编号:$BUILD_NUMBER
运行结果:$BUILD_STATUS
触发原因:${CAUSE}
构建日志地址:${BUILD_URL}console
构建地址:$BUILD_URL
详情:${JELLY_SCRIPT,template="html"}
-
参数的一些说明:
- $BUILD_STATUS – 构建结果
- $PROJECT_NAME – 构建脚本名称
- $BUILD_NUMBER – 构建脚本编号
- $JOB_DESCRIPTION – 构建项目描述
- $CAUSE – 脚本启动原因
- $BUILD_URL – 脚本构建详情URL地址
-
更多模板,自行搜索哈~
打包配置Build Steps
提交服务器代码是没有node_moudle
,所以我们需要执行脚本去安装依赖, 源码管理可以看到Build Steps
模块,选择Execute NodeJS script
这个node版本是在上面我们已经配置过的,如果需要其他版本可通过上面操作新增NodeJs
即可
后续在需要打包的时候,再配置该选项命令,用来构建项目,现在暂且不需要
上面打包到了Jenkins中的workspace中,但是我们设置的项目环境路径跟这个不同,比如开发环境项目目录是
/docker/html/dev/dist/
,所以需要打包后,把dist文件内容推送到/docker/html/dev/dist/
目录下。修改一下上面的脚本,改为下面:
#!/bin/bash
node -v
npm -v
npm install
# npm i esbuild-linux-64@0.13.4 -D
echo "依赖安装成功"
npm run build
echo "打包成功"
echo $PATH
遇到的问题
在配置gitee的账号级ssh后,按照官方文档:help.gitee.com/base/accoun…
然后报错如下:
说明之前已有登录失效凭证,需要删除才可以。 mac电脑在这删除: