当前位置: 首页 > wzjs >正文

厦门旋挖建筑公司网站服务网站建设企业

厦门旋挖建筑公司网站,服务网站建设企业,建设简单企业网站,啊里云服务器怎么做网站1. 前言背景 其实一直想把jenkins 的笔记整理下,介于公司这次升级jenkins2.0 ,根据自己部署的一些经验,我把它整理成笔记。 之前我们的jenkins1.0 时代 还一直停留在 free style 或者 maven 风格的项目,随着项目的日益增多&#x…

1. 前言背景

  其实一直想把jenkins 的笔记整理下,介于公司这次升级jenkins2.0 ,根据自己部署的一些经验,我把它整理成笔记。 之前我们的jenkins1.0 时代 还一直停留在 free style 或者 maven 风格的项目,随着项目的日益增多,环境越来越复杂,需求多,差异化的配置错综复杂,公司产品线大升级;是想着好好的把jenkins 平台给规划下做下升级,兼容更多的场景;

  于是,就有了jenkins2.0 的一个探索,截止发文前,已投入生产实践中,本文我更多的还是来阐述分享点jenkins2.0 中带来的一些好的功能点,想法;同时也给大家规避类一些问题。

古代治学总结有人生三境界,在我看来,jenkins 使用接入亦有三个阶段,这也是每一个运维人员应用 jenkins 所必须要经历的。

第一阶段:初接触,有很多不熟悉不了解,应用场景也大多是依赖手工点点点维护的 free style 或者 maven 风格的项目,通过配置一些参数,结合脚本进行项目的构建与发布。这种维护方式其实也是 jenkins 在 1.0 时代的普遍使用姿势。它的最大弊端在于一切参数都要配置化,当维护的项目数量增多的时候,又遇到某些普遍性需要更改的地方,那么维护起来就是一场灾难了。

第二阶段:慢慢往后深入,接触越来越多,逐渐开始了解 pipeline,亦即 jenkins 在 2.0 时代提出的一个新概念:配置即代码,或者说代码即配置。我们可以不必点点点勾选过多地配置项,只需通过代码定义即可实现相同的效果。只不过据我了解,很多人在这个阶段,因为对流水线基础语法掌握程度不够,因此还有很多人是手工配置参数,然后再结合 jenkinsfile 来进行构建发布的,其实这种方式,并没有真正体悟到 2.0 的设计精髓,自然也无法吃到这波技术红利了。

第三阶段:你不应该满足于维护大量 jenkinsfile 的现状中,过多的 jenkinsfile 就像一个又一个肥大的肿块儿一般,对于后期的二次维护,都是极大的挑战。你可能听过共享库,渐渐你开始了解共享库,尝试共享库,最后将同一个类别的 jenkinsfile 进行逻辑抽象,每个项目都变成了另外一种变相的参数化构建,从而接入项目只需配置对应的 引导文件 即可,这种方式能够极大地简化 jenkins 的运维使用难度,对项目交付效率的提升有极大的帮助。

image-20230605124250267

 上图,是我司CI/CD 的一个发展阶段,在jenkins2.0 时候,我们做了一个大的变动,使用共享库,将同一个类别的 jenkinsfile 进行逻辑抽象,每个项目都变成了另外一种变相的参数化构建,只需要维护每个项目各自的参数,也就是引导文件, 即可对项目进行交付,另外jenkins2.0 上涉及的一切配置、环境、基础设施、数据变更都纳入版本控制范围。一切皆代码,这也是GitOps的理念

2.部署条件

2.1 官网及下载

jenkins官方网站:Jenkins

image-20230605131908560

Stable (LTS) : 稳定版本,长期支持 (LTS) 发布基线每 12 周从常规版本流中选择一次。每 4 周发布一次稳定版本
Regular releases (Weekly) : 定期发布(每周) 该发布线可快速向需要它们的用户和插件开发人员提供错误修复和新功能。它通常每周提供一次

image-20230605133013629

2.1 软件要求

官网: jenkins requires Java 11 or 17 since jenkins 2.357 and LTS 2.361.1

Java11

2.2 服务器硬件要求

  • 小型团队的推荐硬件配置:
    • 4 GB+ of RAM
    • 50 GB+ of drive space 50 GB+ 驱动器空间

3. 安装部署

3.1 本次安装环境信息

名称版本
Centos7Centos7.9 【8核16g500G 】
jenkinsjenkins 2.401.1 LTS
JavaOpenjdk11.0.2

3.2 部署jdk

  • 下载地址 https://repo.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_linux-x64_bin.tar.gz

image-20230605160125095

#建立软件工作目录
[root@localhost /]# mkdir -p /home/application/#下载软件包
[root@localhost /]# wget  https://repo.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_linux-x64_bin.tar.gz#解压软件包
[root@localhost /]# tar -xf jdk-11.0.2_linux-x64_bin.tar.gz  -C /home/application/
[root@localhost /]# rm -rf jdk-11.0.2_linux-x64_bin.tar.gz[root@localhost /]# ls -l /home/application/jdk-11.0.2/
total 32
drwxr-xr-x  2 root root 4096 Jun  5 04:07 bin
drwxr-xr-x  4 root root 4096 Jun  5 04:07 conf
drwxr-xr-x  3 root root 4096 Jun  5 04:07 include
drwxr-xr-x  2 root root 4096 Jun  5 04:07 jmods
drwxr-xr-x 72 root root 4096 Jun  5 04:07 legal
drwxr-xr-x  6 root root 4096 Jun  5 04:07 lib
-r--r--r--  1  668  668  160 Jan 18  2019 README.html
-rw-r--r--  1  668  668 1256 Jan 18  2019 release

Copy

3.3 部署jenkins

3.3.1 创建jenkins软件工作目录,并下载最近的LTS war包
#建立jenkins软件工作目录
[root@localhost application]#  mkdir -p /home/application/jenkins#下载最近的LTS war包
[root@localhost application]# wget http://get.jenkins.io/war-stable/2.401.1/jenkins.war -P /home/application/jenkins

Copy

3.3.2 创建jenkins 主目录

如果不指定jenkins 主目录的话,默认是在 /root/.jenkins 目录下 ; 因为咱这里给jenkins 单独创建了/home/application/jenkins工作目录,就需要指定下

官方阐述了更改主目录的三种方法:

jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:

  1. 使用你Web容器的管理工具设置jenkins_HOME环境参数.
  2. 在启动Web容器之前设置jenkins_HOME环境变量.
  3. (不推荐)更改jenkins.war(或者在展开的Web容器)内的web.xml配置文件

这里我们使用systemd 去管理jenkins 的启动停止,在Environment 中添加 JENKINS_HOME=/home/application/jenkins

3.3.3 使用systemd管理jenkins,并添加开机自启动
#使用systemd管理jenkins,并添加开机自启动
[root@localhost ~]# vim /etc/systemd/system/jenkins.service
[Unit]
Description=Jenkins Agent
After=network.target[Service]
User=root
Environment="JENKINS_HOME=/home/application/jenkins"
ExecStart=/home/application/jdk-11.0.2/bin/java -jar /home/application/jenkins/jenkins.war -Djava.awt.headless=true
Restart=always
RestartSec=3[Install]
WantedBy=multi-user.target[root@localhost jenkins]# chmod +x /etc/systemd/system/jenkins.service
#添加开机自启动
[root@localhost jenkins]# systemctl enable jenkins

Copy

3.3.4 启动jenkins
[root@localhost ~]# systemctl start jenkins[root@localhost ~]# systemctl status jenkins
● jenkins.service - jenkins AgentLoaded: loaded (/etc/systemd/system/jenkins.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2023-06-05 05:01:48 EDT; 3s agoMain PID: 27603 (java)CGroup: /system.slice/jenkins.service└─27603 /home/application/jdk-11.0.2/bin/java -jar /home/application/jenkins/jenkins.war -Djava.awt.headless=trueJun 05 05:01:48 localhost.localdomain systemd[1]: Started jenkins Agent.
Jun 05 05:01:49 localhost.localdomain bash[27603]: Running from: /home/application/jenkins/jenkins.war
Jun 05 05:01:49 localhost.localdomain bash[27603]: webroot: /root/.jenkins/war
Jun 05 05:01:49 localhost.localdomain bash[27603]: 2023-06-05 09:01:49.735+0000 [id=1]        INFO        winstone.Logger#logInternal: Beginning extraction from war file
Jun 05 05:01:52 localhost.localdomain bash[27603]: 2023-06-05 09:01:52.031+0000 [id=1]        WARNING        o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
Jun 05 05:01:52 localhost.localdomain bash[27603]: 2023-06-05 09:01:52.127+0000 [id=1]        INFO        org.eclipse.jetty.server.Server#doStart: jetty-10.0.13; built: 2022-12-07T20:13:20.134Z; git: 1c2636ea05c0ca8de1ffd6ca7f3a98ac084c766d; jvm 11.0.2+9-LTS
Hint: Some lines were ellipsized, use -l to show in full.

Copy

3.3.5 启动解锁jenkins

大概一两分钟后,可以看到日志输出,jenkins已经初始化安装成功,并且给出了管理员admin的登陆密码为946312e6f67746aba40950417e9c70b4

当然也可在/root/.jenkins/secrets/initialAdminPassword 文件中看到密码

[root@localhost ~]#  systemctl status jenkins
● jenkins.service - jenkins AgentLoaded: loaded (/etc/systemd/system/jenkins.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2023-06-05 05:01:48 EDT; 2min 53s agoMain PID: 27603 (java)CGroup: /system.slice/jenkins.service└─27603 /home/application/jdk-11.0.2/bin/java -jar /home/application/jenkins/jenkins.war -Djava.awt.headless=trueJun 05 05:01:55 localhost.localdomain bash[27603]: Please use the following password to proceed to installation:
Jun 05 05:01:55 localhost.localdomain bash[27603]: 946312e6f67746aba40950417e9c70b4
Jun 05 05:01:55 localhost.localdomain bash[27603]: This may also be found at: /root/.jenkins/secrets/initialAdminPassword
Jun 05 05:01:55 localhost.localdomain bash[27603]: *************************************************************
Jun 05 05:01:55 localhost.localdomain bash[27603]: *************************************************************
Jun 05 05:01:55 localhost.localdomain bash[27603]: *************************************************************
Jun 05 05:02:13 localhost.localdomain bash[27603]: 2023-06-05 09:02:13.107+0000 [id=35]        INFO        jenkins.InitReactorRunner$1#onAttained: Completed initialization
Jun 05 05:02:13 localhost.localdomain bash[27603]: 2023-06-05 09:02:13.124+0000 [id=23]        INFO        hudson.lifecycle.Lifecycle#onReady: jenkins is fully up and running
Jun 05 05:02:14 localhost.localdomain bash[27603]: 2023-06-05 09:02:14.052+0000 [id=49]        INFO        h.m.DownloadService$Downloadable#load: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Jun 05 05:02:14 localhost.localdomain bash[27603]: 2023-06-05 09:02:14.053+0000 [id=49]        INFO        hudson.util.Retrier#start: Performed the action check updates server successfully at the attempt #1[root@localhost ~]# cat /root/.jenkins/secrets/initialAdminPassword
946312e6f67746aba40950417e9c70b4

Copy

4. 安装后配置

4.1 登录jenkins平台

如果没有指定端口的话,默认是8080; 如果要指定端口的话,需要再启动文件里 加上 --httpPort=8888

贴入密码

image-20230605170749503

4.2 安装jenkins插件

选择 安装jenkins社区推荐的插件;安装过程可能会有点问题,安装失败啥的,重复安装就行,如果实在安装不下去,可以跳过,等进入到jenkins 设置界面设置代理地址即可

image-20230605170931162

image-20230605171530830

4.3 创建用户,配置实例

  • 在这里创建一个管理员账号,到此jenkins的初始化配置已完成。

     

    image-20230605171711196

     

    image-20230605171727183

     

    image-20230605171746303

     

    image-20230605171900076

4.4 配置更新站点

  • 由于使用官方的站点速度相对很慢,这里采用清华大学的jenkins更新站点。

  • 站点地址: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

  • image-20230605172048680

image-20230605172136772

image-20230605172208228

image-20230605172232042

到这里安装基本上就完成了

http://www.dtcms.com/wzjs/808223.html

相关文章:

  • 做珠宝网站公司jsp技术做网站有什么特点
  • 做外贸比较好用的网站网站推广与品牌建设
  • 黔东南网站设计公司虚拟商城平台
  • 响应是网站怎么做wordpress 搬家后无法打开
  • 简述建设一个网站的具体步骤6网站建设公司税负率
  • 个人网站备案可以做项目网站北京网站开发公司飞沐
  • 整站seo公司我要建立自己的网站
  • 山东企业站点seo创建微网站
  • 网站开发员属于asp 网站开发实例教程
  • wordpress多站点是什么意思建一个信息 类网站
  • 网站制作的重要性wordpress如何调用分类目录
  • 需要做网站设计的公司拓者设计吧注册码
  • 网站重购设计一份企业网络的组网方案
  • 旅游景点网站建设现状做积分商城网站
  • 电信开放81端口怎样做网站关键词优化排名公司
  • 阜阳做网站网站免费注册
  • dw个人网站设计网站开发主要创新点
  • 网站优化内链怎么做那些网站做民宿
  • 外贸公司没网站 怎么做业务360网站卖东西怎么做
  • 网站历史快照网站建设电话销售术语
  • 帝国cms网站源码京东商城网站域名
  • 网站锚文本链接怎么做网站建设框架都有哪些内容
  • 专业的丹阳网站建设ppt内容素材大全
  • wordpress 模拟装机seo自学网app
  • 东胜区建设局网站关键词seo培训
  • 中国数据网站空间网站图片标签
  • 网站站外优化推广方式河南省做网站的企业
  • plc编程软件旺道智能seo系统
  • 电脑做系统哪个网站比较好七牛wordpress
  • 制作游戏网站公司wordpress usermeta