草庐IT

jenkins的安装与配置(超详细)

离阳光更近一点 2023-06-30 原文
  • Jenkins官网:https://jenkins.io/ 或 https://www.jenkins.io/zh/download/
  • Jenkins官网文档:https://www.jenkins.io/zh/doc/
  • jenkins安装包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
  • 清华镜像:http://updates.jenkins-ci.org/download/war/

准备工作:以下四个请自行百度

需要Java环境
需要maven
需要git
如果有前端,则需要node.js

一:jenkins安装

1.官网下载Jenkins war包

![在这里插入图片描述](https://img-blog.csdnimg.cn/9201b260386649ba854af09d079cd6ac.png)


我们选择2.346.1

2.使用命令启动

nohup java -jar jenkins.war --httpPort=8087 &

可以用如下限制Jenkins占用内存

-server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m

3.浏览器打开http://你的服务器ip:8087/

注意: 配置安全组或者防火墙的记得放开端口8087,不然搜不到

4. 找到初始化密码

输出的日志中或者
 ls /root/.jenkins/secrets/initialAdminPassword

都可查看密码

填入后下一步

5.启动如下

①:选择安装推荐的插件或者选择插件来安装
除非你非常明确的知道自己需要哪几种插件,不然就安装推荐的插件


可以看到,有部分插件我们用不到,安装完成之后可以通过系统管理-插件管理-来卸载掉
jenkins插件目录:/root/.jenkins

或者选择插件安装

输入用户名密码邮箱


点击开始使用jenkins 就可以使用jenkins了

二:插件

①:Git Parameter git参数
②:Localization: Chinese (Simplified) 简体中文包
③:SSH server ssh服务器
④:Build With Parameters 输入框式的参数(可选)
⑤:Persistent Parameter 下拉框式的参数(可选)
⑥:SSH ssh配置
⑦:Publish Over SSH 通过SSH发送构建好的jar包或者war包之类的东西
⑧:Role-based Authorization Strategy(可选用户权限)

①④⑤在购机按的项目General里面:

③⑥⑦在系统管理-系统配置里面


⑦:配置好以后也在构建好的项目-构建后操作里面配置内容

三:配置

①:配置国内的清华镜像源 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

入口:系统管理-插件管理-高级

②:配置maven

入口:系统管理-全局工具配置-maven配置/以及最下面的maven安装


②:maven的历史版本下载(可不看)

官网:https://maven.apache.org/




③:配置jdk

参照我之前写的搭建好jdk:https://blog.csdn.net/kawayiyy123/article/details/106475433
然后配置jdk

④:配置git

yum -y install git
which git

显示路径为/usr/bin/git

⑤:配置node.js

官方网址:https://nodejs.org/en/download/
可参照另外的博客进行安装,这边只是给出大概的 一些镜像和配置并没有配置,是不完全版本

[root@VM-4-12-centos local]# tar -xf node-v16.10.0-linux-x64.tar.xz
[root@VM-4-12-centos local]# mv node-v16.10.0-linux-x64 /usr/local/nodejs
[root@VM-4-12-centos local]# vi /etc/profile
#node
export NODE_HOME=/usr/local/nodejs
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules
 
 
[root@VM-4-12-centos local]# source /etc/profile
[root@VM-4-12-centos local]# node -v
v16.10.0
[root@VM-4-12-centos local]# npm -v
7.24.0

⑥:配置凭据参数

入口:



⑦:配置Publish over SSH(可以略过)


进入/root/.ssh目录,看看里面 有没有公钥和私钥
如没有

## 创建ssh key 
ssh-keygen -t rsa
## 一路回车

查看/root/.ssh/文件夹目录

cd /root/.ssh/

查看ssh key 私钥

cat /root/.ssh/id_rsa


id_rsa 私钥
id_rsa_pub 公钥
注意:这里是私钥

⑧:配置SSH Server


⑨:配置SSH remote hosts(可以略过,具体配置的时候可以增加)

ssh的远程主机配置(就是你要发送到哪一台)

四:项目构建

1. 后端

新建一个项目

①:General


②:源码管理

③:构建触发器 不做任何配置 略过

④:构建环境 不做任何配置 略过

⑤:构建


⑥:构建后操作


服务器的路径跟配置的路径不一致,注意

五:遇到的一些小问题

①:服务器接收不到jenkins发送来的jar包


不是全路径,是当前项目下的路径
看上述第六步:构建后操作,第一个和第二个路径有误,是相对路径,jenkins默认在本项目下去操作

②:服务器存储jar包路径跟自己配置的不一致


已经构建成功,但是自己目录下没有,原因

假如你项目构建配置的是/usr/local/workspace;那么你的jar包被传输到 /usr/local/jenkins/usr/local/workspace里面去了

③:更改jenkins主目录路径

Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:(我采用第一种)

  1. 使用你Web容器的管理工具设置JENKINS_HOME环境参数.
    打开tomcat的bin目录,编辑catalina.sh文件。
    在# OS specific support. $var must be set to either true or false.上面添加:export JENKINS_HOME=“/var/lib/jenkins”
    在引号中填入你的路径。

  2. 在启动Web容器之前设置JENKINS_HOME环境变量.
    用root用户登录
    编辑profile文件:vi /etc/profile
    在最后加入:export JENKINS_HOME=xxxx
    保存,退出后执行:source /etc/profile
    让配置生效

  3. (不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件.
    更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件)

     <env-entry>
     	<env-entry-name>HUDSON_HOME</env-entry-name>
     	<env-entry-type>java.lang.String</env-entry-type>
     	<env-entry-value></env-entry-value>
     </env-entry>
    

④:ssh server 和 git连接不上

(1):ssh server连接不上,端口使用不是22
解决思路:换成内网ip,然后端口改成22后成功
(2):git连接不上(一个内网下看本篇,不是的请检查自己的凭据配置(对应gitlab/git/gitbit用户名密码之类的对不对))
其他的服务器都能连接上,唯独本台连接不上,原因:在同一个内网下不能用公网ip
报错如下:

Failed to connect to repository : Command "/usr/local/git.2.37.0/bin/git ls-remote -h -- 你的ip.git HEAD" returned status code 128:
stdout:
stderr: fatal: 无法访问 'http://外网ip:端口/r/项目.git/':Failed connect to 外网ip:端口; 拒绝连接


解决方式:换成内网ip,使用ifconfig查看即可

⑤:jenkins执行.sh脚本不生效

按照这个格式来写

https://blog.csdn.net/sinat_29821865/article/details/119906879

六: jenkins的主目录结构

https://blog.csdn.net/qq_46373211/article/details/126718306

七:jenkins的一些插件

①:Multiple SCMs

此插件可以在项目构建时选多个git,并指定分支

下载完以后构建选择


选择本地子目录

签出到子目录


写上对应的名称,上述配置跟源码配置的Git配置差不多,唯一差距的是Additional Behaviours

②:用户权限分配 Role-based Authorization Strategy

下载插件后使用对应的插件

退出当前目录,找到如下打开



创建全局角色和项目角色,全局角色必须创建,权限要分配好,不要全给;项目权限看情况给
简单说一下item role的语法:

  • 将 pattern 设置为 “Ruoyi-.*”,则该角色将匹配名称以 “Ruoyi-” 开头的所有任务;
  • 将 pattern 设置为 “.*Ruoyi”,则该角色将匹配名称以 “Ruoyi” 结尾的所有任务;
  • 也可以匹配文件夹,可以使用以下表达式匹配文件夹 “^foo/bar.*”;
    一个项目角色多个项目可以使用 |来区分
    比如我有一个 ruoyi系列项目,一个modbus4j系列项目
    分配: ruoyi.*|modbus4j.* .*是通配
    分配好以后在对应的item roles里面点击,出现如下项目则成功


    分配好之后我们可以用新建的root用户登录,就会显示出分配项目角色里面对应的项目

拓展:新建用户(熟知的可以略过)



在这里插入图片描述

输入对应信息后新建成功

有关jenkins的安装与配置(超详细)的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  7. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  8. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  9. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  10. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

随机推荐