前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装Jenkins并用于部署SpringBoot项目

安装Jenkins并用于部署SpringBoot项目

作者头像
Ant丶
发布2022-12-01 17:30:36
6750
发布2022-12-01 17:30:36
举报
文章被收录于专栏:cayzlhcayzlh

安装Jenkins

获取与安装Jenkins

在基于Debian的发行版(如Ubuntu)上,通过apt安装Jenkins。

an apt repository可获得最新版本,较老但稳定的LTS版本在this apt repository这里可获得

代码语言:javascript
复制
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

安装这个软件包将会:

  • 将Jenkins设置为启动时启动的守护进程。查看/etc/init.d/jenkins获取更多细节
  • 创建一个’jenkins‘用户来运行此服务
  • 直接将控制台日志输出到文件/var/log/jenkins/jenkins.log。如果您正在解决Jenkins问题,请检查此文件
  • /etc/default/jenkins`为启动填充配置参数,例如JENKINS_HOME
  • 将Jenkins设置为在端口8080上进行监听。使用浏览器访问此端口以开始配置

安装后设置向导

下载安装并运行Jenkins后,即将开始进入安装向导。

此安装向导会引导您完成几个快速“一次性”步骤来解锁Jenkins, 使用插件对其进行自定义,并创建第一个可以继续访问Jenkins的管理员用户。

解锁Jenkins

当您第一次访问新的Jenkins实例时,系统会要求您使用自动生成的密码对其进行解锁。

  1. 浏览到 http://localhost:8080(或安装时为Jenkins配置的任何端口),并等待 解锁 Jenkins 页面出现。
  1. 从Jenkins控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)。
  1. 解锁Jenkins 页面上,将此 密码 粘贴到管理员密码字段中,然后单击 继续
    • 如果您以分离模式在Docker中运行Jenkins,则可以从Docker日志(above) 访问Jenkins控制台日志。
    • Jenkins控制台日志显示可以获取密码的位置(在Jenkins主目录中)。 必须在新Jenkins安装中的安装向导中输入此密码才能访问Jenkins的主UI。 如果您在设置向导中跳过了后续的用户创建步骤, 则此密码还可用作默认admininstrator帐户的密码(使用用户名“admin”)

自定义jenkins插件

Customize Jenkins 页面内, 您可以安装任何数量的有用插件作为您初始步骤的一部分。

两个选项可以设置:

  • 安装建议的插件 - 安装推荐的一组插件,这些插件基于最常见的用例.
  • 选择要安装的插件 - 选择安装的插件集。当你第一次访问插件选择页面时,默认选择建议的插件。

这里我安装了 Git plugin 和 Maven Integration plugin 两个插件用于git管理

创建第一个管理员账户

最后,在customizing Jenkins with plugins之后,Jenkins要求您创建第一个管理员用户。 . 出现“ 创建第一个管理员用户 ”页面时, 请在各个字段中指定管理员用户的详细信息,然后单击 保存完成 。 . 当 Jenkins准备好了 出现时,单击开始使用 Jenkins

Notes: * 这个页面可能显示 Jenkins几乎准备好了! 相反,如果是这样,请单击 重启 。 * 如果该页面在一分钟后不会自动刷新,请使用Web浏览器手动刷新页面。如果需要,请使用您刚刚创建的用户的凭据登录到Jenkins,并准备好开始使用Jenkins!

部署SpringBoot项目

具体操作配置过程参考Jenkins自动构建部署SpringBoot项目

记录一下使用的脚本

代码语言:javascript
复制
#!/bin/bash
source /etc/profile
appName=xxxx-server
ctime=$(date +%Y%m%d%H%M%S)
api_dir=/opt/jenkins/back-end/xxxx/test
backup_dir=/opt/xxxx-server/api-backup
workspace_dir=/var/lib/jenkins/workspace/xxxx-test/xxxx-server/target
echo 'maven构建成功,开始备份~'
cp $api_dir/zherp-server.jar $backup_dir/xxxx-server-$ctime.jar
echo '备份完成,正在拷贝jar包到指定目录~'
cp $workspace_dir/xxxx-server.jar $api_dir/xxxx-server.jar
echo '拷贝完成~'
cd $api_dir
echo '开始部署接口服务~'
BUILD_ID=DONTKILLME
pidFile="$appName.pid"
if [ -f "$pidFile" ]; then
        pid=$(cat "$api_dir/$pidFile")
        echo "STOP pid:$pid"
        kill -9 $pid
        rm "$pidFile"
    fi
    nohup java -jar -Dspring.profiles.active=staging -Dserver.port=58080 -Xms256m -Xmx1024m $api_dir/$appName.jar > /dev/null 2>&1 &
    echo $! > "$api_dir/$pidFile"

其中BUILD_ID=DONTKILLME表示Jenkins启动脚本之后不会自动杀死子进程。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Jenkins
    • 获取与安装Jenkins
      • 安装后设置向导
        • 解锁Jenkins
          • 自定义jenkins插件
            • 创建第一个管理员账户
              • 部署SpringBoot项目
              相关产品与服务
              容器镜像服务
              容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档