Jenkins自动化前后端构建全流程

**本篇文章基于全新版本安装,大部分截图都是最新版本的截图
构建过程中发现java版本太高导致maven构建不成功,后又换了java1.8版本,于是对应的jenkins也更换了老版本
如果是全新版本几乎没问题,如果是老版本的话,只有关于插件方面需要处理下,可仔细阅读文章jenkins章节
如果需要安装老版本,除了配置源以外,还需要修改default.json文件的所有谷歌地址

Java 21

1.下载openjdk 21

wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/21/jdk/x64/linux/OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz

2.创建java工作目录

mkdir -p /usr/lib/jvm

3.解压并配置环境变量

tar -zxvf OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz -C /usr/lib/jvm/

复制代码
`tee /etc/profile << 'EOF'`

`export JAVA_HOME=/usr/lib/jvm/jdk-21.0.2+13`

`export PATH=$JAVA_HOME/bin:$PATH` 

`EOF`
4.验证版本

Gitlab

1.下载gitlab包
复制代码
`wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm`
2.安装gitlab

不安装这个依赖包在解压的时候会提示强依赖

yum -y install policycoreutils-python

rpm -ivh gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm

3.修改端口

vim /etc/gitlab/gitlab.rb

复制代码
	external_url 'http://127.0.0.1:8888'

	 nginx['listen_port'] = 8888
4.重载配置及重启gitlab

gitlab-ctl reconfigure

gitlab-ctl restart

5.查看初始密码
6.登录页面,设置中文

注册的用户需要登录root账号来审批,审批通过后即可通过注册的账号登录

7.修改root密码

参考官方的:https://docs.gitlab.com/security/reset_user_password/?tab=Linux+package+(Omnibus)

Jenkins

安装jenkins

1.下载jenkins.war

wget https://mirrors.jenkins.io/war-stable/latest/jenkins.war

2.启动jenkins

nohup java -jar /data/jenkins.war --httpPort=8777 > /data/jenkins.log 2>&1 &

3.查看jenkins初始密码

cat /root/.jenkins/secrets/initialAdminPassword

4.访问jenkins

输入上方查到的初始密码

5.安装推荐的插件

新版本没有网络限制,可以按照推荐插件安装

*旧版本,目前使用的是2.346.3版本,很多国内源无法使用(404),需要先初始化,在插件的update选项添加https://mirrors.huaweicloud.com/jenkins/updates/update-center.json后,替换Jenkins工作目录的update/default.json文件


6.下一步配置账户,配置实例
7.配置完成登录账号确认
8.jenkins的systemd文件

/usr/lib/systemd/system/jenkins.service

[Unit]
Description=Jenkins Automation Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/data/soft
ExecStart=/data/soft/jdk8u472-b08/bin/java -jar /data/soft/jenkins.war --httpPort=8777
StandardOutput=append:/data/jenkins.log
StandardError=append:/data/jenkins.log
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

配置jenkins

1.配置jdk环境

点击右上角齿轮(Manager Jenkins)------全局工具配置------JDK安装------配置工作目录(不选择自动安装)

2.安装git及插件

为了Jenkins能够拉取代码,需要安装Git环境和jenkins对应的Git插件

1.)服务器部署git

yum -y install git

git --version

2.)jenkins的git插件

Manager Jenkins------插件管理------Git plugin

这里最开始推荐的插件就已安装

3.git凭据插件配置

Manager Jenkins------插件管理------Credentials Binding Plugin

登录凭据的核心插件


4.创建一个自由风格的项目

到这一步在添加完仓库地址后,会提示无法连接并报错,是因为没有选择凭证,输入url选择凭据

4.构建任务测试连通性

事先在git上创建了一个demo分支,里面存放了一个txt文件

点击立即构建,查看构建日志

后台查看jenkins工作目录是否拉取到了文件

到这一步,用户密码方式的凭证jenkins到gitlab拉取过程打通

maven

安装maven

1.下载maven

wget https://mirrors.aliyun.com/apache/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gz

2.创建maven工作目录

mkdir -p /data/maven

3.解压并配置环境变量

​ `tar -zxvf apache-maven-3.8.9-bin.tar.gz -C /data/maven/``

vim /etc/profile

4.生效文件查看版本

source /etc/profile

5.安装maven插件及配置

Maven Intergration

maven构建流程

1.选择maven项目

装完插件,这里就可以选择到构建maven项目了

2.配置拉取代码
3.配置build构建
4.构建查看控制台信息

显示代码已构建完成

node.js

安装node.js

1.下载node.js

wget https://nodejs.org/dist/v20.19.4/node-v16.18.0-linux-x64.tar.gz

2.解压并配置环境变量

tar -zxvf node-v16.18.0-linux-x64.tar.gz

mv node-v16.18.0 node

/etc/profile添加

export NODE_HOME=/data/soft/node

3.配置国内源

npm config set registry https://registry.npmmirror.com

npm config get registry

4.安装cnpm
复制代码
`npm install -g cnpm --registry=https://registry.npmmirror.com`
5.查看版本
6.安装node.js插件及配置


前端npm构建流程

1.构建自由风格
2.配置拉取代码
3.配置build构建
4.配置执行shell

执行shell之前需要配置到目标服务器(发布应用的服务器)免密

5.查看控制台信息

构建查看日志

到这里 前端js+后端java的构建自动化就完成了,最后执行shell脚本不要参考,只是实例

相关推荐
小张快跑。14 小时前
【Java企业级开发】(十一)企业级Web应用程序Servlet框架的使用(上)
java·前端·servlet
19226382 天前
基于LabVIEW的转子故障诊断系统:振动信号里的秘密探寻
servlet
精神病不行计算机不上班2 天前
[Java Web]在IDEA中完整实现Servlet的示例
java·servlet·tomcat·html·intellij-idea·web
精神病不行计算机不上班2 天前
[Java Web]Java Servlet基础
java·前端·servlet·html·mvc·web·session
好学且牛逼的马2 天前
HttpServlet 深度拆解:从设计模式看透其核心原理
java·servlet·设计模式
BD_Marathon4 天前
【JavaWeb】请求转发
servlet
cike_y4 天前
JavaWeb之过滤器Filter&监听器
java·servlet·javaweb
BD_Marathon5 天前
【JavaWeb】HttpServletRequest_获取请求行和请求头
servlet
BD_Marathon6 天前
【JavaWeb】Servlet_url-pattern的一些特殊写法问题
java·开发语言·servlet