实战:Gradle构建工具实践-2023.6.22(测试成功)

·实战:Gradle构建工具实践-2023.6.22(测试成功)

image-20230622084504342

目录

image-20230623055012384

推荐文章

https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》

image-20230619080407452

实验环境

gitlab/gitlab-ce:15.0.3-ce.0
jenkins/jenkins:2.346.3-2-lts-jdk11
gradle-7.6.1
openjdk 11.0.18

实验软件

链接:https://pan.baidu.com/s/1OQaybJhxxCiGUo0Cjo6cTQ?pwd=0820
提取码:0820

2023.6.22-实战:Gradle构建工具实践-(测试成功)

image-20230622084424449

1、Gradle构建工具配置

官网:https://gradle.org/releases/ Gradle基于Groovy,具有更灵活更强大的构建系统,能帮助我们构建更复杂的项目。

image-20230622080919455

1.spring boot项目生成

初始化一个springboot项目 https://start.spring.io/ (也可以下载一个ide)
如果打不开也可以使用:https://start.aliyun.com/bootstrap.html

一个spring boot项目其实有很多依赖。

生成一个标准的Gradle项目:

  • 项目类型: Gradle-Groovy
  • 语言: Java
  • SpringBoot: 2.7.12 (版本)(随着时间变化版本号会变,默认即可)
  • Metadata
    • Group : 组信息
    • Artifact:包名称
    • Packging: 包格式(Jar、War)
  • Dependencies: 定义项目依赖(最后都会写入Pom.xml)

jar包:可执行的程序。(目前基本是这种)
war包:需要放到容器里,例如tomcat里,需要支持jsp环境的那种,才可以解析。

image-20230622081055880

以上配置完成后,点击Generate,生成测试代码。

image-20230622081149595

代码下载完成 后,可以用vscode打开,看下项目代码结构:

image-20230622081244837

2.创建gitlab仓库并上传代码

  • 创建一个devops6-gradle-service项目

注意:这里取消勾选初始化仓库配置项。

image-20230622081332354

  • 在本地git端将项目代码上传到刚才创建的项目里:

image-20230622081343691

Push an existing folder

cd existing_folder
git init --initial-branch=main
git remote add origin http://172.29.9.101:8076/devops6/devops6-gradle-service.git
git add .
git commit -m "Initial commit"
git push -u origin main

自己推送过程:

git init --initial-branch=main
git remote add origin http://172.29.9.101:8076/devops6/devops6-gradle-service.git
git add .
git commit -m "Initial commit"
git push -u origin main

image-20230622081442653

  • 到gitlab查看推送上来的代码:

image-20230622081453627

3.配置Gradle环境

提前安装好JDK, 然后安装gradle-7.6.1。

本次在gitlanci-runner上下载Gradle:(后面的环境为gitlab runner和jenkins agent都在一台机器上)

1、JDK环境自己之前已经安装好。

image-20230619213016203

如何安装JDK环境,请查看我的另一篇文章!

本地文档路径:实战:Linux下jdk8环境安装(测试成功)-2022.4.16(二进制方式) (jdk11安装方式一样)

image-20230619214431567

网络文档路径:https://blog.csdn.net/weixin_39246554/article/details/124221560

2、安装gradle-7.6.1

https://gradle.org/releases/

image-20230622081758252

###1、下载gradle-7.6.1软件包并解压
[root@Devops6 ~]#ll -h  gradle-7.6.1-bin.zip 
-rw-r--r-- 1 root root 117M Jun 22 08:17 gradle-7.6.1-bin.zip
[root@Devops6 ~]#unzip gradle-7.6.1-bin.zip -d /usr/local/

###2、配置环境
[root@Devops6 ~]#vim /etc/profile
……
export GRADLE_HOME=/usr/local/gradle-7.6.1/
export PATH=$GRADLE_HOME/bin:$PATH 
[root@Devops6 ~]#source /etc/profile

###3、验证
[root@Devops6 ~]#gradle -v

Welcome to Gradle 7.6.1!

Here are the highlights of this release:
 - Added support for Java 19.
 - Introduced `--rerun` flag for individual task rerun.
 - Improved dependency block for test suites to be strongly typed.
 - Added a pluggable system for Java toolchains provisioning.

For more details see https://docs.gradle.org/7.6.1/release-notes.html


------------------------------------------------------------
Gradle 7.6.1
------------------------------------------------------------

Build time:   2023-02-24 13:54:42 UTC
Revision:     3905fe8ac072bbd925c70ddbddddf4463341f4b4

Kotlin:       1.7.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.18 (Red Hat, Inc. 11.0.18+10-LTS)
OS:           Linux 3.10.0-957.el7.x86_64 amd64

4.配置Gradle镜像源

  • 修改Gradle源为国内阿里源

https://developer.aliyun.com/mvn/guide?spm=a2c6h.13651104.mirror-free-trial.5.10596e1aktMoO5

    maven {
      url 'https://maven.aliyun.com/repository/public/'
    }

image-20230622082441491

这里在本地更改代码,然后推送到gitlab仓库:

repositories {
	maven {
      url 'https://maven.aliyun.com/repository/public/'
    }
}

image-20230622082604918

image-20230622082639969

推送代码:

$ git add -A
$ git commit -m "update repo"
$ git push

再到gitlab上确认:

image-20230622082837298

5.手动测试代码

  • 下载代码
[root@Devops6 ~]#cd /data/devops6/
[root@Devops6 devops6]#ls 
devops6-maven-service  gitlab  jenkins_agent  jenkins_home
[root@Devops6 devops6]#git clone http://172.29.9.101:8076/devops6/devops6-gradle-service.git
Cloning into 'devops6-gradle-service'...
Username for 'http://172.29.9.101:8076': root
Password for 'http://root@172.29.9.101:8076': 
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 29 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (29/29), done.
[root@Devops6 devops6]#ls
devops6-gradle-service  devops6-maven-service  gitlab  jenkins_agent  jenkins_home
[root@Devops6 devops6]#cd devops6-gradle-service/
[root@Devops6 devops6-gradle-service]#ls
build.gradle  gradle  gradlew  gradlew.bat  settings.gradle  src
[root@Devops6 devops6-gradle-service]#
  • 打包
[root@Devops6 devops6-gradle-service]#gradle build

image-20230622083111938

image-20230622083208292

image-20230622083304946

大部分gradle构建失败,都和网络有关系,再次重试下就行。

再次构建,速度就很快了:

image-20230622083343909

2、Jenkins与Gradle集成

image-20230622080758657

1.创建GitLab仓库

见上部分2.创建gitlab仓库并上传代码内容。

2.创建Jenkins作业

  • Jenkins上以devops6-maven-service来拷贝创建devops6-gradle-servicepipeline类型作业,点击保存。

image-20230622083536577

然后这里改变一些参数值:

image-20230622083709173

image-20230622083749525

其它都是一样的,点击保存。

3.编写Jenkins Pipeline

  • 注意:因为Maven和Gradle只是构建工具不一样,而后面的Jenkins代码则是完全一致的,因此这里直接测试。

image-20230622083957866

pipeline {
    agent {label "build"}
    stages{
        stage("CheckOut"){
            steps{
                script{
                    println("CheckOut")

                    checkout([$class: 'GitSCM', 
                        branches: [[name: "${env.branchName}"]], 
                        extensions: [], 
                        userRemoteConfigs: [[credentialsId: 'gitlab-root', url: "${env.srcUrl}"]]])
                    
                    sh "ls -l" //验证
                }
            }
        }

        stage("Build"){
            steps{
                script{
                    println("Build")

                    sh "${env.buildShell}"
                }
            }

        }        
        
    }
}

image-20230622084022238

image-20230622084042312

image-20230622084058375

测试结束。😘

3、Gradle常用命令

gradle build  构建项目
gradle build -x test 构建项目跳过测试
gradle clean 清空构建目录

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码
x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号
《云原生架构师实战》

image-20230107215126971

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230515221819681

🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎
https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值