前言

介绍一下java 构建的小栗子。

正文

maven 管理

java 是用maven 管理包的,那么我们是要安装maven的。

还是那句话,安装这种东西呢,去官网下载然后自己安装,不要用yum apt这种。

官网地址:https://maven.apache.org/download.cgi

下载,然后安装即可。然后就需要配置好自己的环境变量了。

vim /etc/profile

然后再最下面把maven配置一下。

然后重新加载一下。

source /etc/profile

好的,如果安装mavnen 成功的话,那么就可以进行jenkins配置了。

在全局配置工具中,找到jdk。

然后配置maven:

然后还需要配置一些全局环境变量,在系统配置里面找到全局变量,然后找到环境变量,填写如下:

后面我们需要用到这些参数。

因为我们在国内,所以你懂得,一定需要去配置maven的国内源,不然拉不下来。

vim /service/localService/apache-maven-3.6.3/conf/settings.xml

修改两个地方:

然后还需要修改包管理地址:

这样就可以了。

然后我们要试一下构建哈,对了,我的git的代码是一个最简单的spring boot,可以自己手建设一下。

然后再构建里面配置一下打包的脚本,如下:

然后点击build,发现就会去下载,并且打包。

tomcat 安装

下载好tomcat文件,然后再bin下面运行启动文件即可。

将打包好的jar包发送到tomcat中去。

在vim tomcat-users.xml

<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>

然后修改manager 对ip地址的限制:

你的tomcat目录/webapps/manager/META-INF/context.xml

然后需要注释掉,这个。

<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

上面这个意思是访问地址只能是127开头的才可以访问,所以这里注释一下。

这样你就可以发现你可以访问tomcat访问地址,你的地址/manager,这样访问一下,它会让你输入账户密码,那么你就可以访问了。

那么就可以开始写脚本到tomcat了。一般有我们可以使用ftp 转移,因为有插件那么我们可以使用插件的形式。

下载下面这个插件:



然后修改配置:

这些是构建后操作,指定war文件,我虽然是spring boot,但是打包的是war包,关于如何打包成war包,可以百度一下。

我们打好的包会到/var/lib/jenkins/你的任务名字/workspace/target,所以填的就是target/*.war这样。

下面选好tomcat 版本,因为会调用tomcat接口。然后下面就是凭证,如果你阅读前面,那么你一定懂得。最后就是一个tomcat地址了。

接下来就是build过程,发现打包好,自动放在了tomcat下面,并且解析了。

jenkins 持续集成和交付——一个java构件小栗子(四)的更多相关文章

  1. jenkins 持续集成笔记2 --- 构建 Java 项目

    先说一下流程: jenkins 从 gitlab pull 代码,使用 maven 打包,然后备份原来的jar包,使用rsync同步到服务器上,重启服务. pipeline 资源去看官方中文文档 ht ...

  2. Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】

    Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]

  3. 接口自动化平台搭建(四),自动化项目Jenkins持续集成

    一.Jenkins的优点 1.传统网站部署流程   一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试 ,如果 ...

  4. 自动化项目Jenkins持续集成

    一.Jenkins的优点 1.传统网站部署流程   一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试 ,如果 ...

  5. 行为驱动:Cucumber + Selenium + Java(二) - extentreports 测试报告+jenkins持续集成

    1.extentreports 测试报告 pom文件 <dependency> <groupId>com.vimalselvam</groupId> <art ...

  6. 什么是 Jenkins? 运用Jenkins持续集成

    [注]本文译自:https://www.edureka.co/blog/what-is-jenkins/   持续集成是 DevOps 最重要的部分,用于集成各个 DevOps 阶段.Jenkins ...

  7. python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?

    python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...

  8. Docker+Jenkins持续集成环境(5): android构建与apk发布

    项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. andro ...

  9. Jenkins持续集成学习-Windows环境进行.Net开发1

    目录 Jenkins持续集成学习-Windows环境进行.Net开发 目录 前言 目标 使用Jenkins 安装 添加.net环境配置 部署 结语 参考文档 Jenkins持续集成学习-Windows ...

  10. .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统

    .NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言     相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...

随机推荐

  1. C++ //count_if //按条件统计元素个数 //自定义和 内置

    1 //按条件统计元素个数 2 //count_if 3 4 #include <iostream> 5 #include<string> 6 #include<vect ...

  2. 国内RPA融资年终大盘点:19起投资总额破34亿估值近230亿,垂直落地之年开启

    2021国内RPA融资年终盘点:15家厂商融资总额破34亿,估值近230亿 2021RPA融资年终大盘点:19起投资估值近230亿,垂直落地之年开启 2021国内RPA融资年终盘点:15家厂商19起投 ...

  3. vue3切换theme功能

    切换主题,老生常谈.反正我是第一次弄,还挺巧妙 我的实现方式是通过:root的修改,来一键换色 :root { // 主题色 --ry-primary-color: #ff9c00; // layou ...

  4. kubernetes 1.20版本 二进制部署

    kubernetes 1.20版本 二进制部署 目录 kubernetes 1.20版本 二进制部署 1. 前言 2. 环境准备 2.1 机器规划 2.2 软件版本 3. 搭建集群 3.1 机器基本配 ...

  5. ansible 自动化运维(1)

      ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量 ...

  6. 对象遍历 Object.keys(obj).forEach(name=> {})

    Object.keys(props).forEach(name => { watch[name] = function (value) { this.columnConfig.update(na ...

  7. vue通用的增删改查按钮组件

    代码复用:这个组件可以在多个页面或组件中使用,避免了重复编写相同的按钮代码. 灵活性:通过showButtons属性,可以根据需要显示不同的按钮.默认情况下,它会显示添加.修改和删除按钮,但你也可以根 ...

  8. 记录--Object.assign 这算是深拷贝吗

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在JavaScript中,Object.assign() 是一个用于合并对象属性的常见方法.然而,对于许多开发者来说,关于它是否执行深拷贝 ...

  9. 记录--手写一个 v-tooltip 指令

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 日常开发中,我们经常遇到过tooltip这种需求.文字溢出.产品文案.描述说明等等,每次都需要写一大串代码,那么有没有一种简单的方式 ...

  10. Python glob库的用法

    一.匹配指定文件夹下的所有文件 files = glob.glob("C:\\Users\\liuchunlin2\\Desktop\\测试数据\\*") print(files) ...