前端搭建jenkins自动化部署系统

24年4.22更新
之前用的jenkins镜像为jenkinsci/blueocean,此次使用时发现安装后在jenkins安装的nodejs插件可以安装node版本但无法执行。报错类似/tmp/jenkins8777690772299864547.sh: line 3: node: not found
进入容器后找到使用jenkins nodejs插件安装的nodejs的bin目录,执行node -v报错bash: ./node: No such file or directory
多次尝试后问题还存在,后更换镜像为jenkins/jenkins 解决了这个问题
但该镜像需要更换docker源,在docker源更换为https://9cpn8tt6.mirror.aliyuncs.com后解决了镜像pull问题(期间换过163的源试了也不行)


以下是原文

一、下载安装jenkins

因为下载windows版本的jenkins踩了好多坑,所以我还是选择docker安装。
此处略过docker安装教程。。。

安装jenkins

参考官方文档https://www.jenkins.io/zh/doc/book/installing/

//拉取镜像
docker pull jenkinsci/blueocean

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

此处有一个坑,docker在附加--rm参数时创建的容器在关闭后会自动清空容器。所以要去掉--rm。不然容器中创建的一些东西就没有了。另外我端口选择了8888,因为8080被占了。

打开jenkins

浏览器访问http://127.0.0.1:8888 (如果不是装在本地,则用相应地址)第一次打开jenkins需要输入管理员密码
需先执行docker exec -it 进入jenkins容器,按提示找到密码所在文件。


图片.png

。然后进行插件安装,选推荐插件就行。

安装插件

图片.png

点击系统管理=》插件管理=》可选插件 进行插件安装。
图片.png

我主要安装了
1、Git Parameter(用于git参数化构建,可以在构建时选择git分支)

2、NodeJS Plugin (用于执行npm build之类的打包命令)
安装完后在创建任务时才有以下项

图片.png

但此时NodeJS Installation中下拉框没内容。需要在全局工具中配置。
图片.png
我装了node版本12.22.1

3、Publish Over SSH(用于构建之后的发布,通过ssh传至项目地址)
安装完成后需要在系统管理=》系统配置中配置ssh

配置gitlab

jenkins部署的流程无非是从gitlab(或者别的地方)下载代码,执行一系列shell脚本(npm i && npm build等)。打包完成后通过ssh传到需要部署的服务器。所以这一步骤需要接通gitlab。
1、登录容器
docker exec -it jenkins-blueocean bash
2、创建ssh公钥
//在容器中执行 ssh-keygen
在.ssh文件夹下会生成id_rsa id_rsa.pub文件夹。执行命令cat id_rsa.pub将文件中的内容复制出来(此处小坑,用vi命令打开文件不太好复制,还是cat好使)
3、在gitlab中添加刚才复制的公钥

图片.png

4、如果在添加完后,还无法接通gitlab。可以在容器中执行git clone 你项目的git地址。(如果通过gitlab插件方式可省去这一步骤)

配置nodejs

在系统管理=》全局工具配置里面(http://127.0.0.1:8888/configureTools/
选择node安装

图片.png

新建任务

图片.png

选择gitlab地址及分支


图片.png

添加node


图片.png

执行shell
图片.png

图片.png
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容