IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 搭建jenkins自动化集成开发环境步骤,纯小白 -> 正文阅读

[系统运维]搭建jenkins自动化集成开发环境步骤,纯小白

1.? 为什么需要jenkins自动化集成开发环境。

? ? ? 故事背景:

????????前后端分离开发过程中, 前后端联调通讯时,需要后端人员开发完成后, 将代码打包部署到测试服务器上。 此过程会导致后端人员因代码更新速度过慢而影响整体效率,此行为不符合程序员四大基本优点。

? ? ? ? jenkins自动化集成开发方案存在已久, 它使后端人员只需要提交svn代码,并不需要关注打包、部署等一系列问题,前端人员即可获得最新的测试环境,?从而提高了开发效率。

2.? 怎么部署jenkins。

? ? ? ?2.1.? ?一台服务器(windows/linux系统), 安装有JDK/Maven/Tomcat

? ? ? ?2.2.? ?从jenkins官网下载最新的war包,copy到tomcat的webapps下, 启动tomcat 。

? ? ? ? ? ? ? ? apache-tomcat-xxx/bin/startup.bat

? ? ? ? ? ? ? ?云盘下载地址:

??????????????????链接:https://pan.baidu.com/s/1nyrIOfHjCdBMELFcdL7k4g?
? ? ? ? ? ? ? ? ?提取码:hvog?

? ? ? ?2.3.? 用浏览器访问http://localhost/8080/jenkins/ , 按照步骤一步步安装jenkins。?

? ? ? ? ? ? ? ?默认密码路径??/root/.jenkins/secrets/initialAdminPassword

? ? ? ?2.4? ?登录jenkins后, 点击 Manage Jenkins . 配置相关的信息。

?

? ? ? ? ? ? ? ? ?security配置:

? ? ? ? ? ?配置?Global Tool Configuration:

????????

? ? ? ? ? ? ? ? manager plugins(安装插件):

? ? ? ? ? ? ? ? Subversion Plug-in? ? ?/? ??Deploy to container Plugin

?

? ? ? ? ? ? ? ? 此时基础配置已完成。?

? ? ? ? 2.5? 新建item=>? 填写项目名称,选择 freestyle project ,确定后跳转下图界面:

? ? ? ? ? ? ? ? 源码管理: 选择subversion, 填写svn的源码下载地址及svn的账号密码, 其他默认。

? ? ? ? ? ? ? ? 构建触发器: 选择远程构建。 填写token的值(此时一定是一个token的字符串,而不是一个地址)

? ? ? ? ? ? ? ? 具体的访问地址是: http://ip:port/jenkins/job/项目/build?token=xxx

? ? ? ? ? ? ? ? 构建环境: 选择maven版本, 使用 clean install 构建项目

????????

? ? ? ? ? ? ? ? 构建后的操作:

? ? ? ? ? ? ? ?

tomcat需要可以通过浏览器访问 ManagerApp? 。

tomcat 9 只允许本机访问, 此时可以通过 {tomcat webapps路径} /manager/META-INF/context.xml 中修改?

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

?设置tomcat的conf/tomcat-users.xml

  <role rolename="tomcat" />
  <role rolename="manager-gui"/>
  <user username="账号" password="密码" roles="tomcat,manager-gui"/>

? 此时, 如果遇到通过浏览器上传war包失败的情况, 应该是tomcat 9 跨域的问题, 只需要注销掉{tomcat webapps路径}/manger/WEB-INF/web.xml

<!--
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
      <url-pattern>/html/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Text Manager interface (for scripts)</web-resource-name>
      <url-pattern>/text/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-script</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>JMX Proxy interface</web-resource-name>
      <url-pattern>/jmxproxy/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-jmx</role-name>
    </auth-constraint>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Status interface</web-resource-name>
      <url-pattern>/status/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
       <role-name>manager-script</role-name>
       <role-name>manager-jmx</role-name>
       <role-name>manager-status</role-name>
    </auth-constraint>
  </security-constraint>
  -->

? ? 注销掉以上代码即可, 但会导致不安全。 请自行考虑其他解决方案。?

以上配置完成后,点击 Build Now ,jenkins就会从svn服务上拉去最新的代码, 并打包运行、发布到tomcat上。?

3.? 如何编写svn钩子函数。(window环境下)

? ? ? ? 此时我们有了一个通过外部的访问地址触发jenkins自动打包的路径。 参考2.5的配置。?

? ? ? ? 如何实现windows服务器上的提交后自动触发jenkins打包部署呢??

? ? ? ? 下面我们需要一个钩子函数。

? ? ? ? 3.1? 打开 服务器端的svn的 Repositories / 代码库/?hooks文件夹。

? ? ? ? ? ? ? ?此文件夹下有一系列的文件。 我们copy?post-commit.tmpl 这个文件, 重命名为?post-commit.bat 文件。

? ? ? ? ? ? ? ? 注释掉*.bat里面的原有代码, 此时服务器的windows系统需要一个工具包, 叫 curl。

????????????????链接:https://pan.baidu.com/s/1VB1Bjmd_w9zTBWNrwQV_9w?
????????????????提取码:tqyw?

? ? ? ? ? ? ? ?修改.bat 文件内容为:

? ? ? ? ? ? ? ?

{Curl解压存放位置}\bin\curl.exe -X post -v -u  {jenkins账号}:{jenkins密码}? http://{服务器IP地址}:{端口号}/jenkins/job/{jenkins的项目名}/build?token={自定义的token值}

以上{}及包含的内容,自行替换。? ? ? ? ? ? ? ?

此时我们的钩子函数已编辑完成。 可以测试是否成功了!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:57:06  更:2021-09-04 17:58:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:37:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码