摘要: 除了坐标、依赖以及仓库之外,Maven另外两个核心概念是生命周期和插件。 在Maven日常使用中,命令行的输入往往就对应了生命周期,如mvn package就表示执行默认生命周期阶段package。Maven的生命周期是抽象的,其实际行为都由插件来完成,如package阶段的任务可能就会由maven 阅读全文
posted @ 2023-10-15 23:26 麦恒 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 使用私服,就可以降低中央仓库负荷、节省外网带宽、加速Maven构建、部署自己的构件等,从而高效地使用Maven。 有三种专门的Maven仓库管理软件可以用来建立私服:Apache基金会的Archiva、JFrog的Artifactory和Sonatype的Nexus。其中,Arehiva是开源的,而 阅读全文
posted @ 2023-10-14 00:04 麦恒 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1、Maven仓库介绍 1.1、何为Maven仓库 坐标和依赖是任何一个构件在Maven世界中的逻辑表示方式。而构件的物理表示方式是文件,Maven通过仓库来统一管理这些文件。 1.1、什么是构件 在Maven世界中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。例如,依赖log4j-1.2 阅读全文
posted @ 2023-10-04 23:18 麦恒 阅读(17) 评论(0) 推荐(0) 编辑
摘要: Maven的一大功能就是管理项目依赖。 为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础--坐标。 示例:有一个项目mavenproject,该项目有三个不同模块分别是mavenproject-A、mavenproject-B、mavenproject- 阅读全文
posted @ 2023-10-02 20:51 麦恒 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1、创建Maven项目的目录结构 为maven-project01项目创建目录结构。首先创建一个名为maven-project01的文件夹,并在其下创建如下目录。 2、编写pom.xml Maven项目的核心是pom.xml,就像Make的Makefile,Ant的build.xml一样。 POM( 阅读全文
posted @ 2023-09-18 03:07 麦恒 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 1、Maven是什么? Maven是一个跨平台的项目管理工具。是Apache组织的一个颇为成功的开源项目,Maven主要用于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,都可以使用Maven。 2、Ma 阅读全文
posted @ 2023-09-15 05:20 麦恒 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 1、凭证管理介绍 1、为什么要管理凭证 众所周知,在Jenkinsfile或部署脚本中使用明文密码会造成安全隐患。但是为什么还频繁出现明文密码被上传到GitHub上的情况呢?笔者认为有两个主要原因(当然,现实的原因可能更多): (1)程序员或运维人员不知道如何保护密码。 (2)管理者没有足够重视,否 阅读全文
posted @ 2023-09-12 01:06 麦恒 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 参数化pipeline:是指可以通过传参来决定pipeline的行为。参数化让写pipeline就像写函数,而函数意味着可重用、更抽象。所以,通常使用参数化pipeline来实现一些通用的pipeline。 有两种方法配置参数化pipeline: (1)在Jenkins Web上配置(直接生效) ( 阅读全文
posted @ 2023-09-11 21:42 麦恒 阅读(1616) 评论(0) 推荐(0) 编辑
摘要: Jenkins自动化是指项目按照一定的规则自动执行,这些规则被称为项目触发条件。 Jenkins内置支持cron、pollSCM、upstream三种方式。其他方式可以通过插件来实现。 1、Jenkins内置触发器 对于触发条件,可以从两个维度来区分:时间触发和事件触发。 时间触发是指定义一个时间, 阅读全文
posted @ 2023-09-10 15:18 麦恒 阅读(1111) 评论(0) 推荐(0) 编辑
摘要: 1、pipeline简介 通常Jenkins pipeline被简称为pipeline。只有安装了pipeline插件,Jenkins才支持pipeline。pipeline代码被写在一个被命名为Jenkinsfile的文本文件中,在同一个代码项目下可以按需创建多个不同名称的Jenkinsfile。 阅读全文
posted @ 2023-09-03 23:08 麦恒 阅读(94) 评论(0) 推荐(0) 编辑
摘要: Jenkins中自动构建项目的类型有很多,常用的有以下三种: 自由风格项目(FreeStyle Project) Maven项目(Maven Project) 流水线项目(Pipeline Project) 其实每种构建类型都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别。使用哪 阅读全文
posted @ 2023-08-31 01:59 麦恒 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1、在linux上安装Maven 1.1、安装JDK 在安装Maven之前,首先要确认已经正确安装了JDK,Maven可以运行在JDK 1.4 及以上的版本上。(maven依赖JDK) //(1)安装JDK //(2)检查JDK ]# java -version java version "1.8. 阅读全文
posted @ 2023-08-27 12:03 麦恒 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1、下载JDK JDK官网:https://www.oracle.com JDK下载地址:https://www.oracle.com/java/technologies/downloads/archive/ JDK8下载地址:https://www.oracle.com/java/technolo 阅读全文
posted @ 2023-08-27 11:42 麦恒 阅读(77) 评论(0) 推荐(1) 编辑
摘要: 1、Jenkins简介 Jenkins官网:https://www.jenkins.io/ Jenkins说明文档:https://www.jenkins.io/doc/ Jenkins是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测 阅读全文
posted @ 2023-08-26 23:54 麦恒 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 1、gitlab简介 GitLab官网:https://about.gitlab.com/ GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 与Github类似,GitLab能够浏览源代码,管理缺陷和注释 阅读全文
posted @ 2023-08-21 00:00 麦恒 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 克隆是版本库的副本,包含所有原始对象。因此,每个克隆都是独立、自治的版本库,与原始版本库是真正对称、地位相同的。 克隆允许每个开发人员可以在本地独立地工作,不需要中心版本库,投票或者锁。归根结底,克隆使Git易于扩展,并允许地理上分离的很多贡献者一起协作。 从本质上讲,在下述情况下,分离的版本库是相 阅读全文
posted @ 2023-03-28 10:16 麦恒 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1、储藏 在日常开发周期中,当要经常中断(例如修复bug、处理来自同事或经理的请求)你正在进行中的工作,你是否感到不堪重负?如果是这样,那么储藏(stash)就是来帮助你的! 储藏可以捕获你的工作进度,允许你保存工作进度并且当你方便时再回到该进度。 当然,你也可以通过Git提供的分支及提交机制来实现 阅读全文
posted @ 2023-03-28 01:02 麦恒 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 提交是记录你的工作的历史记录,并且保证你所做的更改是神圣不可侵犯的,但提交自身不是一成不变的。Git提供了几个工具和命令,专门用来修改完善版本库中的提交。 有很多理由让你去修改或返工某个提交或整个提交序列: 可以在某个问题变为遗留问题之前修复它。 可以将大而全面的变更分解为一系列小而专的提交。相反, 阅读全文
posted @ 2023-03-25 21:53 麦恒 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Git是一个分布式版本控制系统(Distributed Version Control System,DVCS)。例如,它允许日本的一个开发人员和新泽西州的一个开发人员独立地制作与记录修改,而且它允许两个开发人员在任何时候合并变更,不需要一个中心版本库。 一次合并可以结合两个或多个分支。但是大多数情 阅读全文
posted @ 2023-03-24 03:59 麦恒 阅读(104) 评论(0) 推荐(0) 编辑
摘要: diff是英文differences(差异)的缩写,指的是两个事物的不同。 在Linux系统和UNIX系统中,diff命令会逐行比较两个文本的差异然后显示出来。 //(1)创建initial文件 ]# cat > initial << EOF Now is the time For all good 阅读全文
posted @ 2023-03-22 17:44 麦恒 阅读(59) 评论(0) 推荐(0) 编辑