让别人做网站应注意什么,自己如何注册一个网站,音乐网站建设策划,.电子商务网站的开发原则包括文章目录 DockerJenkins部署SpringBoot项目一.准备工作1.1安装jdk111.2安装Maven 二.Docker安装Jenkins2.1安装Docker2.2 安装Jenkins2.3进入jenkins 三.Jenkins设置3.1安装jenkins插件3.2全局工具配置全局配置jdk全局配置maven全局配置git 3.3 系统配置安装 Publish Over SSH … 文章目录 DockerJenkins部署SpringBoot项目一.准备工作1.1安装jdk111.2安装Maven 二.Docker安装Jenkins2.1安装Docker2.2 安装Jenkins2.3进入jenkins 三.Jenkins设置3.1安装jenkins插件3.2全局工具配置全局配置jdk全局配置maven全局配置git 3.3 系统配置安装 Publish Over SSH 插件配置 SSH 服务器Gitee 配置添加 Gitee配置 四.构建项目4.0 准备工作4.1构建项目一4.1.1 新建项目4.1.2 配置源码管理4.1.3 构建触发器 4.2 构建项目二 DockerJenkins部署SpringBoot项目 Jenkins 是一个流行的开源自动化服务器主要用于 持续集成CI 和 持续部署CD它可以帮助开发团队自动化构建、测试和部署过程提高软件开发效率。
Jenkins 的作用
持续集成CIContinuous Integration
每次代码提交后自动构建和测试确保代码的正确性。及时发现问题提高团队协作效率。减少“集成地狱”即多人开发时的代码合并问题。
持续部署CDContinuous Deployment / Delivery
持续交付Continuous Delivery代码经过自动化测试和打包后能够手动部署到生产环境。持续部署Continuous Deployment在持续交付的基础上自动化发布到生产环境。
一.准备工作
1.1安装jdk11
安装jdk1.8会出兼容性问题建议安装jdk11
首先在 /usr/local 下创建java文件夹将openjdk-1128_linux-x64_bin.tar压缩包在次文件下解压缩 解压缩后查看Java文件夹中的东西出现jdk-11,解压成功。 配置环境变量, 注意路径
vim /etc/profile#刷新配置文件
source /etc/profile
#查看版本
java -version1.2安装Maven
https://maven.apache.org/docs/history.html
这里安装的是maven3.8.6
使用root用户登录linux
#解压
tar -zxvf apache-maven-3.8.6-bin.tar.gz
#移动到/usr/local
mv apache-maven-3.8.6 /usr/local
#进入/usr/local
cd /usr/local
#重命名为maven
mv apache-maven-3.8.6/ maven
#配置环境变量
vim /etc/profile
{
export MAVEN_HOME/usr/local/maven
export PATH$PATH:$MAVEN_HOME/bin
} 查看maven版本是否安装成功 在maven文件夹下创建maven仓库目录
mkdir mavenRepository编辑配置文件,配置Maven加速镜像地址和本地仓库目录
#创建maven仓库目录
mkdir /usr/local/maven/ck
#编辑配置文件
vim /usr/local/maven/conf/settings.xml
localRepository/usr/local/maven/ck/localRepositorymirrorsmirroridalimaven/idnamealiyun maven/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//urlmirrorOfcentral/mirrorOf/mirror/mirrors 二.Docker安装Jenkins
2.1安装Docker
略请查看《Centos7安装Docker》
2.2 安装Jenkins
#创建jenkins_home数据挂载目录
mkdir /mnt/jenkins_home
#赋值权限否则后慢慢挂载会失败这里我们给最高权限
chmod -R 777 /mnt/jenkins_home
#拉取jenkins镜像
docker pull jenkins/jenkins:lts-jdk11#启动jenkins容器
docker run -d --namejenkins -p 8081:8080 --privilegedtrue \
-v /mnt/jenkins_home:/var/jenkins_home \
-v /usr/local/java/jdk-11:/usr/local/java/jdk-11 \
-v /usr/local/maven:/usr/local/maven \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock jenkins/jenkins:lts-jdk11
#授予docker的操作权限给jenkins等容器使用
chmod arw /var/run/docker.sock
参数说明
-v /mnt/jenkins_home:/var/jenkins_home是对容器内存储Jenkins的一些配置信息的文件夹
-v /usr/local/java/jdk-11:/usr/local/java/jdk-11是把linux下的jdk和容器内的关联配置Jenkins时使用
-v /usr/local/maven:/usr/local/maven是把linux下的maven和容器内的关联配置Jenkins时使用
-v $(which docker):/usr/bin/docker是把linux下的docker和容器内的关联
-v /var/run/docker.sock:/var/run/docker.sock是可以在Jenkins容器里使用我们Linux下的docker。如果出现上图错误尝试docker rm -f $(docker ps -a -q) 然后在执行上述的启动jenkins命令。 2.3进入jenkins
启动service jenkins start
重启service jenkins restart
停止service jenkins stop获取初始密码
#查看容器id
docker ps
#查看jenkins容器日志
docker logs (jenkins容器id)6ea9894b9ab1408fb8f85ef7487e3678三.Jenkins设置
3.1安装jenkins插件
此处本人先按照的csdn上的文档进行的安装推荐的插件方式但是选择这个方式安装插件后续会出错已经亲身尝试过三次均出错。所以在后面选择了《选择插件来安装》的方式来安装插件。 进入Jenkins管理后台 依次搜索安装 Maven Integration 和 Publish Over SSH 以及 Gitee 三个插件安装即可
在Jenkins启动成功后安装以下三个插件能够增强其功能满足特定的项目需求
Gitee 功能Gitee插件允许Jenkins与Gitee代码仓库集成支持从Gitee仓库中拉取代码、触发构建任务。这对于使用Gitee进行源代码管理的团队非常有用能简化CI/CD流程。 安装在“插件管理”界面搜索“Gitee”插件并安装。安装后可以在Jenkins的项目配置中添加Gitee仓库的访问信息配置Webhook以便代码提交时自动触发构建。Maven Integration 功能Maven Integration插件允许Jenkins与Maven无缝集成使得Jenkins可以直接调用Maven进行项目的构建、测试和打包。这对于Java项目尤其重要因为Maven能够自动管理项目依赖、编译代码并生成可部署的包如JAR、WAR。 安装在Jenkins管理界面中导航到“插件管理” - “可选插件”搜索“Maven Integration”并点击“安装”。Publish Over SSH 功能Publish Over SSH插件允许Jenkins通过SSH将构建生成的文件如JAR、WAR包安全地传输到远程服务器上。这对于部署过程至关重要尤其是当需要将构建产物自动部署到生产或测试服务器时。 安装同样在“插件管理”界面搜索“Publish Over SSH”并安装。安装后你可以在“系统管理”中配置SSH服务器的连接信息。 通过安装这些插件Jenkins能够更好地支持项目构建、打包、部署和代码管理大大提高自动化部署的效率和灵活性。 3.2全局工具配置
全局配置jdk 、maven、git
全局配置jdk
为什么需要Jenkins本身是基于Java的应用并且许多构建工具如Maven、Gradle也依赖JDK。因此配置JDK是必不可少的。配置方法在Jenkins的“系统管理” - “全局工具配置”中找到JDK配置部分点击“添加JDK”指定JDK的安装路径或者选择自动安装。 全局配置maven
为什么需要Maven是Java项目构建的标准工具用于依赖管理、代码编译、测试和打包。通过配置MavenJenkins可以调用Maven进行项目构建。配置方法在“全局工具配置”中找到Maven配置部分点击“添加Maven”指定Maven的安装路径或者选择自动安装。 全局配置git
为什么需要大多数项目都使用Git进行源代码管理。通过配置GitJenkins可以从Git仓库中拉取代码并进行构建。配置方法在“全局工具配置”中找到Git配置部分添加Git安装路径或者选择自动安装。确保Jenkins可以访问正确版本的Git由于 Jenkins 容器中已经存在 git 了所以这里不需要额外安装 git默认即可。 3.3 系统配置
安装 Publish Over SSH 插件
在3.1中已经安装过跳过即可
配置 SSH 服务器
插件安装完成后返回“系统管理”页面选择“系统配置”或“Configure System”。
向下滚动页面找到 Publish Over SSH 部分。
点击“添加”按钮配置一个新的SSH服务器
Name: 为服务器配置一个易记的名称。Hostname: 输入目标服务器的IP地址或主机名。Username: 输入用于登录到目标服务器的用户名。Remote Directory: 指定在远程服务器上的默认目录Jenkins将把构建产物传输到此目录。
点击“测试配置”或“Test Configuration”按钮验证Jenkins是否能够成功连接到目标服务器。 保存配置配置完成后点击页面底部的“保存”或“应用”按钮以确保你的设置被保存。
Gitee 配置
通过配置GiteeJenkins能够与Gitee代码仓库集成实现代码的自动拉取和构建。 同样在Jenkins的插件管理中搜索Gitee并安装该插件安装过可以忽略此步骤。 获取 Gitee API Token 登录到Gitee账户 在设置里面找到“私人令牌”部分点击“生成新的令牌”。 根据需要选择令牌的权限例如“repo”代码仓库相关操作和“user_info”用户信息查看。 生成令牌后复制并保存。 007cfbfae48459bf61866aa9cf973d93 007cfbfae48459bf61866aa9cf973d93
添加 Gitee配置
在“系统配置”页面找到Gitee 配置。配置你的Gitee仓库信息 链接名: 输入你的Gitee仓库的URLHTTPS即 就是你自己创建的gitee仓库地址。Gitee域名URL: 输入Gitee域名完整URL地址。证书令牌: 选择Gitee API令牌。 通过上述步骤就已经在Jenkins中完成了 Publish Over SSH 和 Gitee 的配置。这些配置使得Jenkins能够安全地将构建产物部署到远程服务器同时自动拉取和构建Gitee上的代码为CI/CD流程提供了基础支持。
最后重启jenkins如图 四.构建项目
4.0 准备工作
首先在idea创建一个测试的工程项目demo,
然后手动创建Dockerfile文件如图 #使用OpenJDK 11 JRE精简版作为基础镜像。
FROM openjdk:11-jre-slim#设置环境变量PARAMS为空字符串
ENV PARAMS#将当前目录下的所有JAR文件添加到镜像中的/demo.jar。
ADD *.jar /demo.jar#设置容器启动时执行的命令为使用java -jar运行/demo.jar并传递环境变量PARAMS。
ENTRYPOINT [sh,-c,java -jar /demo.jar $PARAMS]修改pom文件为了打包顺利 如果不将skipxxxx/skip注释掉再加个打包后缀名当执行打好的jar包时会出错如图 然后进行打包 4.1构建项目一
在Jenkins中新建一个Maven项目的步骤如下
4.1.1 新建项目
在Jenkins首页点击左侧菜单中的“新建任务”或“New Item”。在弹出的窗口中为项目输入一个名称然后选择“构建一个Maven项目”或“Maven Project”。点击“确定”进入项目配置页面。 4.1.2 配置源码管理
在项目配置页面找到“源码管理”部分。选择你使用的版本控制系统如Git并输入项目的代码仓库URL。如果仓库需要认证配置相应的凭证Credentials如用户名和密码或SSH密钥。设置仓库中触发构建的分支代码*/release表示release分支有代码提交则自动触发构建。 4.1.3 构建触发器
配置构建触发器这可以是轮询SCMPoll SCM、Webhook触发、定时构建等。例如如果你希望在每次代码提交时触发构建可以选择“GitHub hook trigger for GITScm polling”或“Poll SCM”并设置合适的时间间隔。 #!/bin/bash
# 服务名称
SERVER_NAMEdemo
# 源jar名称mvn打包之后target目录下的jar包名称
JAR_NAMEdemo-1.0.0-SNAPSHOT
# jenkins下的目录
JENKINS_HOME/mnt/jenkins_home/workspace/demo
# 等待三秒
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1
echo 结束进程完成
cd $JENKINS_HOME/target
cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/target
# 修改文件权限
chmod 755 $JAR_NAME.jar
echo 看看docker能不能用
docker -v
echo 停止容器
# 停止容器
docker stop demo
echo 删除容器
# 删除容器
docker rm demo
echo 删除镜像
# 删除镜像
docker rmi demo
echo 打包镜像
# 打包镜像
docker build -t demo
echo 运行镜像
# 运行镜像
docker run -d -p 9999:9999 --name demo demo此时点击立即构建会失败。 点开之后可以看见构建信息 4.2 构建项目二
项目一失败了再继续再创建新的项目步骤和一类似 将以下内容复制在deploy.sh文件中 export JAVA_HOME/opt/java
export PATH$JAVA_HOME/bin:$PATHJAR_PATH/root/dataJARFILEdemo-0.0.1-SNAPSHOT-kwh.jarps -ef | grep $JARFILE | grep -v grep | awk {print $2} | xargs kill -9java -jar $JAR_PATH/$JARFILE out.log
if [ $? 0];thensleep 30tail -n 50 out.log
fils -lt|awk NR${print $NF}|xargs rm -rf最后保存。 点开可以查看构建信息。 工作空间 可以看到构建之后的项目结构 此时这个项目构建成功。
如何运行构建的项目呢查看构建信息 然后进入这个文件夹下 运行demo-0.0.1-SNAPSHOT-kwh.jar此时idea是没有任何运行程序的。 然后测试 此时jenkins自动化部署项目已经实现。
可能有人会问自动二字体现在何处莫急莫急
此时假如你在idea中修改了代码提交推送到远程仓库此时由于已经配置jenkins自动化部署当你将代码推送到远程后在jenkines中会自动触发构建项目的过程你只需刷新浏览器即可就能看到修改的内容如图 推送到远程仓库 推送到远程成功会立即触发jenkins自动构建项目 此时刷新浏览器即可看到更新内容注由于这里本人没有配置好webhooks自动触发器设置在这里先手动模拟Jenkins自动构建
根据上述构建信息找到jar包位置 手动运行jar包 刷新浏览器构建成功。 学习参考文档https://blog.csdn.net/qq_51447436/article/details/141194535https://blog.csdn.net/weixin_43755251/article/details/127566967阿里云社区
https://developer.aliyun.com/article/1288762