Maven插件获取Git信息

很多时候虽然用了 Git 做了源代码的版本管理,但一般上线的版本都没会的Tag。最近线上项目出现了一个BUG,因为已经找不到线上代码对应的版本了,只好通过打包时间去找对应的版本然后修复BUG。如果要是每次打包都能把当前对应的版本信息放到 war/jar 包中就完美了,于是各种百度Maven 获取 Git 版本信息,终于找到了我想要的:

maven:读取程序版本号的三种方案
亲测可行,但你需要在pom.xml文件中加入scm配置信息:

<scm>
    <connection>scm:git:git@gitee.com:gggg/test.git</connection>
</scm>

这个方案感觉还是不够完美;然后我在SpringBoot的pom.xml看到了下面这个配置(1.5.1.RELEASE版本的SpringBoot):

<pluginManagement>
	<plugin>
		<groupId>pl.project13.maven</groupId>
		<artifactId>git-commit-id-plugin</artifactId>
		<executions>
			<execution>
				<goals>
					<goal>revision</goal>
				</goals>
			</execution>
		</executions>
		<configuration>
			<verbose>true</verbose>
			<dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>
			<generateGitPropertiesFile>true</generateGitPropertiesFile>
			<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
		</configuration>
	</plugin>
<pluginManagement>

git-commit-id-plugin 这个插件就可以帮助我们获取Git相关信息,SpringBoot已经帮我们配置好了,我们需要在自己项目pom.xml中引入一下就ok了。

<plugins>
  <plugin>
    <groupId>pl.project13.maven</groupId>
    <artifactId>git-commit-id-plugin</artifactId>
  </plugin>
</plugins>

然后通过Maven打包,就能看到classes目录下生成了一个git.properties文件;
git.properties
git.properties文件内容

然后我们可以通过 SpringBoot Actuator获取Git相关信息。我们先引入Actuator依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

然后需在application.yml文件中把访问限制关闭,不然是无法方法Actuator端点的。

management.security.enabled: false

最后我们启动服务,通过 /info 端点即可获取如下信息:
Git信息
如果你想要查看更详细的信息可以在application.yml文件中加入以下配置:

management.info.git.mode: full

再次访问 /info 端点即可获取更加详细的信息:
详细的Git信息

因为SpringBoot集成了git-commit-id-plugin 插件,所以我们使用起来更加方便,但从这个插件的名字就可以看出它只支持Git,如果你们使用的是SVN就没办法用这个方式,只好用这个方案了maven:读取程序版本号的三种方案

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Docker和Docker Compose 在安装Docker和Docker Compose之前,需要先安装Docker的依赖包。 首先,更新apt-get: ``` sudo apt-get update ``` 然后安装Docker的依赖包: ``` sudo apt-get install apt-transport-https ca-certificates curl software-properties-common ``` 接下来,添加Docker的GPG密钥: ``` curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ``` 添加Docker的APT仓库: ``` sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" ``` 更新apt-get: ``` sudo apt-get update ``` 安装Docker: ``` sudo apt-get install docker-ce ``` 安装Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 添加执行权限: ``` sudo chmod +x /usr/local/bin/docker-compose ``` 2. 编写Docker Compose文件 在本地创建一个文件夹,用于存放Docker Compose文件和Jenkins的数据: ``` mkdir jenkins cd jenkins mkdir jenkins-data ``` 然后,在该文件夹下创建一个docker-compose.yml文件,用于定义Jenkins容器和相关配置: ``` version: '3' services: jenkins: container_name: jenkins image: jenkins/jenkins:lts ports: - "8080:8080" - "50000:50000" volumes: - "./jenkins-data:/var/jenkins_home" networks: - jenkins_network networks: jenkins_network: ``` 此配置文件会创建一个名为“jenkins”的容器,使用jenkins/jenkins:lts镜像,映射8080和50000端口,并将/var/jenkins_home目录映射到本地的./jenkins-data目录。 3. 启动Jenkins容器 启动Jenkins容器: ``` docker-compose up -d ``` 访问http://localhost:8080,输入初始管理员密码,完成Jenkins的安装。 4. 配置Jenkins 登录Jenkins后台,安装Git插件Maven插件。 在Jenkins后台,选择“新建任务”,配置任务信息,选择“自由风格项目”。 在“源码管理”中选择“Git”,填写Git仓库地址和用户凭证,保存并应用配置。 在“构建触发器”中选择“轮询SCM”,填写轮询时间间隔。 在“构建”中选择“执行shell命令”,填写构建命令,如: ``` mvn clean package ``` 在“构建后操作”中选择“部署war/ear到容器”,填写部署配置信息,如: ``` Container: Tomcat 8.x Remote Tomcat URL: http://localhost:8080 Credentials: Jenkins WAR/EAR files: **/*.war Context path: / ``` 保存并应用配置。 5. 获取远程代码并构建 在Jenkins任务列表中,选择要构建的任务,点击“立即构建”按钮,Jenkins会自动获取远程Git仓库中的代码,并执行构建命令。 构建完成后,Jenkins会自动将构建好的war包部署到Tomcat容器中,访问http://localhost:8080即可查看部署的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值