现在的部署,基本都是自动化部署
下载地址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.204.2-1.1.noarch.rpm
由于jenkins是java开发的,所以要配置java环境,一般java开发都的内存都需要大一点
yum install java-1.8.0-openjdk*
vi /etc/profile
AVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
JRE_HOME=$JAVA_HOME/jre
#目录
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
source /etc/profile
rpm -ivh jenkins-2.204.2-1.1.noarch.rpm
systemctl start jenkins
chkconfig jenkins on
cat /var/lib/jenkins/secrets/initialAdminPassword #原始密码
并且你可能需要下载此插件
[root@jenkins ~]# ssh-keygen
[root@jenkins ~]# cat ~/.ssh/id_rsa.pub
[root@jenkins ~]# cat ~/.ssh/id_rsa
tar -xvf node-v12.18.1-linux-x64.tar.xz
vim /etc/profile
export PATH=$PATH:/root/node-v12.18.1-linux-x64/bin
source /etc/profile
[root@jenkins client-front]
jenkins与gitlab连接需要理解公钥私钥
需要在jenkins上面创建公私钥,把公钥发给gitlab上面,私钥发给jenkins插件上面
如果发布的代码是js的 那还要另外装node
以上为jenkins内容,填完点保存即可
这里需要写一个拉取代码的脚本,需要根据场景编写,类似如下
#!/bin/bash
DATE=`date +%F`
name=${DATE}-${git_version}
#进入项目目录,将内容进行打包
get_code(){
cd /var/lib/jenkins/workspace/admin-front/ && \
/root/node-v12.18.1-linux-x64/bin/cnpm install
/root/node-v12.18.1-linux-x64/bin/cnpm run build
tar czf /opt/admin-${name}.tar.gz ./dist/*
}
#将内容通过scp拷贝只web集群组
scp_web_server(){
scp /opt/admin-${name}.tar.gz root@ip:/opt/
ssh root@ip "rm -rf /home/pro/admin/dist/*"
ssh root@ip "tar xf /opt/admin-${name}.tar.gz -C /home/pro/admin/"
}
deploy(){
get_code
scp_web_server
}
deploy