所在位置:

在 centos 中使用 gitlab 和 jenkins 实现前端自动化部署

我们要实现的功能是提交到 gitlab 的某个分支,就能在 jenkins 里自动打包和发布,操作如下:

在 gitlab 中新建一个项目,名称叫 HelloWorld,如下:

把本地项目的dev分支推送到 HelloWorld,如下:

在 jenkins 安装 gitlab 和 nodejs 插件,点击 “系统管理” -> "插件管理" -> "可选插件",搜索 "gitlab" 和 "nodejs",然后安装,如下:

配置 nodejs 插件,点击 "系统管理" -> "全局工具配置",新增 "NodeJS",如下:

在 jenkins 中新建一个名为 jenkins_demo 的项目,选择 “构建一个自由风格的软件项目”,如下:

在 "源码管理" 里选择 “Git”,Repository URL 填写 gitlab 的地址,Credentials填写为相关的用户名和密码,指定分支为 "*/dev",操作如下:

在 "构建触发器" 里勾选 Build when a change is pushed to GitLab. GitLab webhook URL: http://10.153.185.198:8081/project/jenkins_demo,然后点击 ”高级“ 按钮,看到 “Secret token“,点击 "Generate" 按钮,这里需要记录下 webhook 的地址(http://10.153.185.198:8081/project/jenkins_demo)和 secret token(d7ea7520f07368a6ca9e4f5f5ddf5f26) 的值,操作如下:

在 “构建环境” 里勾选 “Provide Node & npm bin/ folder to PATH”,配置 nodejs,如下:

在 "Build Steps" 里选择 “执行shell",输入下面的命令:

npm install
npm run build

回到 gitlab 中, 选择 HelloWorld 这个项目,点击 “设置" -> "Webhooks",填写 “网址",前面我们记录了这个 webhook 的地址为 ( http://10.153.185.198:8081/project/jenkins_demo ),填写 “Secret 令牌”,前面我们记录了这个 secret token(d7ea7520f07368a6ca9e4f5f5ddf5f26),取消 ssl 验证,操作如下:

测试一下是否成功,点击 "测试“,选择 “Push events” ,看到 HTTP 200,说明成功了,操作如下:

在 jenkins 里的 helloworld 项目查看控制台输出,操作是成功的,如下:

参考资料

【上一篇】在 centos 中使用 docker 安装 gitlab

【下一篇】在 centos 中使用 docker 搭建 calibre web 电子书服务器