1.下载jdk1.8
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
2.修改配置变量
vi /etc/profile
3.配置环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar‘
4.生效
source /etc/profile
5.安装maven
上传maven安装包
tar -xf apache-maven-3.6.1-bin.tar.gz
mkdir -p /opt/maven
mv apache-maven-3.6.1 /opt/apache-maven-3.6.1
6.修改maven环境变量
vi /etc/profile
需要依赖jdk
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export MAVEN_HOME=/opt/apache-maven-3.6.1
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bi
7.修改Maven的settings.xml
# 创建本地仓库目录
mkdir /opt/repo
修改权限:chmod -R 777 /opt/repo
vi /opt/maven/conf/settings.xml
修改为本地仓库地址
<localRepository>/root/repo</localRepository>
更换镜像
<mirror>
<!-- 此镜像的唯一标识,用来区分不同的mirrors元素 -->
<id>nexus-aliyun</id>
<!-- 被替代仓库的名称(对应上面查找到的默认仓库id) -->
<mirrorOf>central</mirrorOf>
<!-- 镜像名称,随意 -->
<name>Nexus aliyun</name>
<!-- 镜像URL -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
8.服务器上安装git
yum -y install git
# 查看git版本
git --version
9.安装docker
https://editor.csdn.net/md/?articleId=118154338
11.安装OpenJDK
yum install -y java-1.8.0-openjdk
java -version
10.安装jenkins
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.346-1.1.noarch.rpm --no-check-certificate
11.修改jenkins端口号
进入此文件
vi /etc/sysconfig/jenkins
修改端口:
JENKINS_USER="root"
JENKINS_PORT="8888"
进入
cd /usr/lib/systemd/system
vim jenkins.service
修改
Environment="JENKINS_PORT=8889"
12 修改jenkins环境变量
vim /etc/init.d/jenkins
which java # 运行后,java位置即为下文红圈中,我们需要填写的内容
修改环境 添加上一部得到到java环境路径
candidates="
/opt/jdk1.8/bin/java
配置文件生效
systemctl daemon-reload
设置开机启动
systemctl enable jenkins.service
systemctl start jenkins
systemctl status jenkins
systemctl stop firewalld
systemctl disabled firewalld
云服务器开启此端口
访问
http://192.168.6.20:8888
查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword
13.进入jenkins
1.跳过安装插件
2.创建管理用户
3.Jenkins —> Manage Jenkins —> Manage Plugins,点击Advanced ,修改Update Site的URL,提交保存
复制这个到里面保存
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/
4.安装汉化插件
搜索:chinese
5.创建一个新用户
Manage Jenkins —> Manage Users(管理用户) —> 新建用户
6.安装Credentials Binding插件
7.Manage Jenkins —> Manage Credentials
8.添加一个gitee凭证
查看图片 https://img-blog.csdnimg.cn/6e6707a634b04f35b3a495afab2fcc27.png
账号,密码为gitee的账号和密码 保存应用
9. Manage Jenkins —> Global Tool Configuration —-> JDK —-> 新增JDK,
查看图片 https://img-blog.csdnimg.cn/a74a3e9e2939457c986f0225dc973e19.png
Jenkins —> Global Tool Configuration —-> Maven —–> 新增Maven,
查看图片 https://img-blog.csdnimg.cn/1dfef0728f8d4a8cbcfcc115706a4781.png
Jenkins —> Global Tool Configuration —-> Git—–> 新增Git,
输入命令 在虚拟机中数据 which git 查看git安装地址复制进去
查看图片 https://img-blog.csdnimg.cn/d5646d0f070e4651bbdfa9fa72d94fa3.png
10.安装Pipeline插件 Manage Jenkins —–> Manage Plugins —-> 可选插件 —> 搜索Pipeline
11.创建一个流水项目 点击配置之后选择Git 复制仓库http路径
https://img-blog.csdnimg.cn/87e67a6c761342469b118e3863b2590a.png
12.配置字符参数
https://img-blog.csdnimg.cn/cd539da176a5486d89415bafe6d0bedf.png
https://img-blog.csdnimg.cn/48169445af5c4c929ca96523e21016fa.png
13.选项参数
https://img-blog.csdnimg.cn/137ec13cfaef4174829407b7672bb7e3.png
14.写入Jenkinsfile脚本
//git凭证ID
def git_auth = "4a0eec89-3642-4a8d-866f-2dec5713d030"
//git的url地址
def git_url = "https://gitee.com/helloworld-html/deploy-spring-cloud.git"
//镜像的版本号
def tag = "latest"
node {
stage('拉取代码') {
checkout([$class: 'GitSCM', branches: [[name: "*/${branch}"]],
doGenerateSubmoduleConfigurations: false,
extensions: [], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
}
stage('编译,安装公共工程') {
//编译,安装公共工程
sh "mvn -f iyj-common clean install"
}
stage('编译,构建镜像') {
// 定义镜像名称(项目名称+版本号)
def imageName = "${project_name}-service:${tag}"
sh "echo ${imageName}"
//删除相同容器
sh "/opt/jenkins_shell/removeContain.sh ${project_name}"
sh "/opt/jenkins_shell/removeImage.sh ${imageName}"
// 添加构建镜像的操作
sh 'mvn -f ${project_name} clean package dockerfile:build'
//启动容器
//sh "docker run -d -p ${port}:${port} --name ${project_name} ${imageName}"
sh "docker run -d -e SPRING_PROFILES_ACTIVE=${spring_profiles} --name ${project_name} -p ${port}:${port} -v /data/log:/log ${imageName}"
}
}
15.写入删除镜像脚本
#! /bin/sh
PROJECT_NAME=$1
#容器名称
echo "$PROJECT_NAME"
# 检查该进程是否正在运
num=`docker ps |grep -w $PROJECT_NAME|grep -v grep|wc -l`
if [ $num -gt 0 ]; then
##存在以前的进程,停掉
echo 'docker container ' $PROJECT_NAME ' progress is running'
## 停掉该进程
docker stop $PROJECT_NAME
echo 'stop container ' $PROJECT_NAME ' success'
fi
## 检查该容器是否存在
num=`docker ps -a |grep -w $PROJECT_NAME|grep -v grep|wc -l`
if [ $num -gt 0 ]; then
##容器存在,则删掉该容器
echo 'docker container ' $PROJECT_NAME ' container is exists'
## 删掉该容器
docker rm $PROJECT_NAME
echo 'remove container ' $PROJECT_NAME ' success'
fi
16.写入删除容器脚本
#!/bin/bash
#容器名称 iyj-basic-service:lastest
image_name=$1
if [[ "$(docker images -q $image_name 2> /dev/null)" != "" ]];then
##容器存在,则删掉该镜像
docker rmi -f $image_name
echo 'remove image success'
fi
虚拟机mysql安装:
https://blog.csdn.net/young_0609/article/details/109015666
要进bin目录下面执行
-bash: mysql: command not found
虚拟机redis安装:
https://zhuanlan.zhihu.com/p/34527270
安装nacos
见CSDN收藏
https://blog.csdn.net/dagedeshu/article/details/109209157
https://blog.csdn.net/qq_42758288/article/details/108967672
https://blog.csdn.net/qq_42758288/article/details/108967808
前端部署
安装nginx
https://blog.csdn.net/t8116189520/article/details/81909574
如果是前后端项目需要修改nginx.conf里面的配置
https://img-blog.csdnimg.cn/fd800c8382f84669b60a323b73df8779.png
![在这里插入图片描述](https://img-blog.csdnimg.cn/7c460a33ecfa422bbc5750b36d9340f9.png)
代理增添:
location /api/ {
proxy_pass http://159.75.247.247:9002;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
}
开机启动
https://www.jianshu.com/p/ca5ee5f7075c
1.在服务器上安装nodejsV16.10.0
参考
https://blog.csdn.net/weixin_39385430/article/details/116306649
2.jenkins上配置
进入全局工具设置:
https://img-blog.csdnimg.cn/66bbf25f385f43fdbc29a57ed8db247a.png
3.
https://img-blog.csdnimg.cn/6cec706debae4ef6aeb219538244a9e4.png
脚本:
//git凭证ID
def git_auth = "4a0eec89-3642-4a8d-866f-2dec5713d030"
//git的url地址
def git_url = "https://gitee.com/helloworld-html/iyj-font.git"
node {
stage('拉取代码') {
checkout([$class: 'GitSCM', branches: [[name: "*/${branch}"]],
doGenerateSubmoduleConfigurations: false,
extensions: [], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_url}"]]])
}
stage('编译,打包') {
//编译,安装公共工程
nodejs('nodejs16'){
sh '''
cnpm install
npm run build:prod
rm -rf /opt/data/dist
mv /var/lib/jenkins/workspace/iyj-ui/dist /opt/data
'''
}
}
}
安装参考:jdk8
https://huaweicloud.csdn.net/63566b2dd3efff3090b5edef.html?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-1-127226397-blog-125572690.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-1-127226397-blog-125572690.pc_relevant_aa&utm_relevant_index=1
jdk11
https://geray-zsg.github.io/2022/03/Jenkins%E5%9F%BA%E7%A1%80-%E4%B8%80/#4-%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90%E7%8E%AF%E5%A2%83-jenkins%E5%AE%89%E8%A3%85
问题总结
交换空间不足
https://www.coder.work/article/7312129
升级jenkins
下载war 替换掉原来的war 查找原来的war路径 查看jenkins的状态即可
下载插件基本插件
harbor的登录凭证
(java.io.IOException) caught when processing request to {}->unix://localhost:80: Permission denied
chmod 777 /var/run/docker.sock
忽略
下载安装jdk1.8 或手动上传
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
vi /etc/profile
配置环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar‘
生效
source /etc/profile
# OpenJDK部署
yum install -y java-1.8.0-openjdk
java -version
安装jenkins+jdk8
注意:jenkins最新版本仅支持jdk11
jdk1.8需要下载
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.346-1.1.noarch.rpm --no-check-certificate
rpm -ivh jenkins-2.346-1.1.noarch.rpm
2、jenkins安装+jdk11
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install epel-release -y # 安装依赖(提供“daemonize”的存储库)
yum install java-11-openjdk-devel -y # 安装jdk
yum install jenkins -y # 安装Jenkins
任意服务器部署jar
https://blog.csdn.net/fen_fen/article/details/117048191
服务器之间拷贝jar
https://blog.csdn.net/JasonWeng/article/details/113574958
虚拟内存不足
https://blog.csdn.net/u014204541/article/details/102671182
完整项目实践
配置完成界面
IP参数设置
执行远程脚本命令
分支参数设置
jar包存放路径
构建命令
项目结构