jjzjj

来吧,Jenkins+git+mvn+shell一键部署实践起来

养家糊口的猫 2024-02-11 原文

环境:

centos

Jenkins-2.319

系统自带git

mvn3.8.7

jdk1.8

一、安装jdk

1、https://blog.csdn.net/codedz/article/details/124044974

centos自带了openjdk,我是选择自己重新搞一个,用的上面链接地址的yum安装方式

2、安装完成

查看版本

查看java安装路径

 which java

配置环境变量

编辑profile:
vim /etc/profile
profile文件中添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
生效配置:
source /etc/profile
查看JAVA_HOME
 echo $JAVA_HOME

jdk配置完成

二、安装mvn

1、服务器新建一个文件夹用于存放mvn,

例如我的是:/usr/local/maven

新建:/usr/local/maven/repository 用于存放依赖包

然后 :cd /usr/local/maven 进入maven目录

2、下载mvn

https://maven.apache.org/download.cgi

wget https://dlcdn.apache.org/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz

如果遇到

使用--no-check-certificate 下载,执行命令时多等一会儿才有反应

wget --no-check-certificate  https://dlcdn.apache.org/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz

3、下载完成,在当前目录解压

tar -zxvf apache-maven-3.8.7-bin.tar.gz

4、配置Maven环境变量

# 编辑profile文件
vim /etc/profile

# 在配置文件末尾加上maven路径
export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.7
export MAVEN_HOME 
export PATH=$PATH:$MAVEN_HOME/bin

# 使配置文件立即生效
source /etc/profile

5、检查安装配置是否成功

mvn -version

安装后,注意配置setting.xml文件, 同时将maven文件夹赋予所有访问写入权限,不然后续mvn拉取依赖会报权限不足

至此准备工作完成,开始搞jenkins

三、jenkins安装

见我的上一篇文章:https://blog.csdn.net/qq_36608921/article/details/128732621

如果不想关闭防火墙,可单独开放访问端口,然后重启防火墙即可

四、配置jenkins

访问:http://服务器ip:9091/

因为我这边8080端口号被占用,所有我改了端口号为:9091

1、初次进入,配置密码(该密码也是admin的默认密码)

2、安装插件

安装gitee插件、git插件

git插件,搜出来很多,管他三七21,差不多看着觉得合适的咔咔的都选上完事

五、配置jdk\mvn\git

其中git默认就好,不用修改

全局工具

maven

jdk

git

然后保存

六、java\maven\gitee环境变量配置

配置gitee需要用户名/密码 或者 gitee 私人令牌

点击 添加-Jenkins;可选择用户名密码 或者 私人令牌,根据操作提示一步一步配置即可

以及下面的maven配置

七、创建第一个项目

1、填一个名字,选择自由风格类型

2、选择gitee链接

3、配置源码管理

这个地方需要注意的是,还得新建一个用户名密码的凭据源码才能配置成功

4、构建环境执行shell脚本

下面shell脚本为简单的打包并运行jar包

注意:一定要记得在shell脚本里面定义一个BUILD_ID,以防止jenkins杀掉启动好的进程(不加BUILD_ID,jenkins默认在build结束后会kill掉所有的衍生进程 )

*也可以在你需要最终执行jar包的shell脚本中添加BUILD_ID

然后点击应用保存,会回到当前job界面

点击立即构建

点击现目的绿色勾

即可查看控制台输出,红色框表示拉取的代码位置

至此,jenkins + git + mvn 打包部署完成,具体shell脚本的编写,每个公司不一样,请自行研究了。

注:

由于jenkins安装好,默认JENKINS_USER="jenkins",有可能会遇到jenkins操作服务器文件权限问题,例如一些日志写入文件啊什么的

解决办法:

 1、编辑配置文件设置JENKINS_USER
 
 vim /etc/sysconfig/jenkins
    
 修改 JENKINS_USER = "root"

2、给jenkins相关文件赋予root权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

将JENKINS_USER 设置为root一般即可解决jenkins操作文件权限问题

有关来吧,Jenkins+git+mvn+shell一键部署实践起来的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby-on-rails - 如何在 ruby​​ 交互式 shell 中有多行? - 2

    这可能是个愚蠢的问题。但是,我是一个新手......你怎么能在交互式ruby​​shell中有多行代码?好像你只能有一条长线。按回车键运行代码。无论如何我可以在不运行代码的情况下跳到下一行吗?再次抱歉,如果这是一个愚蠢的问题。谢谢。 最佳答案 这是一个例子:2.1.2:053>a=1=>12.1.2:054>b=2=>22.1.2:055>a+b=>32.1.2:056>ifa>b#Thecode‘if..."startsthedefinitionoftheconditionalstatement.2.1.2:057?>puts"f

  3. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  4. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  5. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  6. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  7. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  8. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  9. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  10. ruby-on-rails - Rails 中同一个类的多个关联的最佳实践? - 2

    我认为我的问题最好用一个例子来描述。假设我有一个名为“Thing”的简单模型,它有一些简单数据类型的属性。像...Thing-foo:string-goo:string-bar:int这并不难。数据库表将包含具有这三个属性的三列,我可以使用@thing.foo或@thing.bar之类的东西访问它们。但我要解决的问题是当“foo”或“goo”不再包含在简单数据类型中时会发生什么?假设foo和goo代表相同类型的对象。也就是说,它们都是“Whazit”的实例,只是数据不同。所以现在事情可能看起来像这样......Thing-bar:int但是现在有一个新的模型叫做“Whazit”,看起来

随机推荐