Gradle依赖使用最新版本

Gradle中配置依赖,如果不指定版本,是会报错找不到依赖的。 但如果依赖很多,还需要去仓库一个个看依赖库的最新版本是多少。

那么gradle是否支持直接使用依赖的最新版本呢?

答案是肯定的,不过在gradle的文档中并没有在显著位置标识。

方式就是在version处填加号+gradle就会去自动识别最新版本去下载。

全部指定最新版本后,再根据日志去解决个别依赖冲突报错,事半功倍。

阅读全文
区分gradle三个不同层次的依赖

Gradle是一个非常灵活、强大的构建系统,但其概念也相对复杂,但只要抓住核心,做好区分,就不会觉得混乱。

下面的构建脚本,是否觉得难以理解:

buildscript {
    构建脚本依赖的仓库
    repositories {
        mavenCentral()
    }
    // 构建脚本依赖
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }
}
repositories {
    mavenCentral()
    jcenter()
    google()
}
dependencies {
    implementation 'com.google.guava:guava:30.1-jre'
    testImplementation 'junit:junit:4.13.2'
}  
plugins {
      id 'com.android.application'
      id 'org.jetbrains.kotlin.jvm' version '1.5.10'
}

阅读全文
流水线的创建应该叫搭建、配置还是开发?

在软件开发和持续集成/交付的领域,Jenkins是一个非常受欢迎的工具,用于自动化构建、测试和部署流程。Jenkins流水线是一种强大的机制,可以通过定义一系列的阶段、步骤和条件来自动化整个软件交付流程。然而,在描述流水线的创建过程时,我们应该使用哪个词来形容:搭建、配置还是开发呢?

阅读全文
Jenkins版本类型介绍及选择策略

Jenkins简介

Jenkins是一个流行的开源持续集成和交付工具,它提供了一个可扩展的插件生态系统,可以用于自动化构建、测试和部署软件项目。

Jenkins版本

Jenkins的版本类型可以分为以下几种:

  1. LTS版本:长期支持版本(LTS),每12周发布一次。这些版本经过广泛测试和验证,并且提供长期支持,通常用于生产环境。LTS版本的发布周期相对较长,因此相对稳定且可靠。

阅读全文
Jenkinsclient系列教程之查看基本信息(二)

配置好Jenkinsclient后,就可以通过命令来操作Jenkins了!

jenkinsclient的命令格式是:

jenkins GROUP | COMMAND

GROUP是指一组命令,比如job是一个组命令,它有以下命令:

jenkins job build   //构建任务
jenkins job copy    //复制任务
jenkins job create  //创建任务
jenkins job delete  //删除任务
jenkins job disable //禁用任务
jenkins job enable  //启用任务
jenkins job has     //查看任务是否已存在
jenkins job info    //显示任务信息
jenkins job ls      //显示任务列表
jenkins job rename  //重命名任务
jenkins job xml     //显示任务的config.xml内容

今天我们先不介绍组命令,先介绍第一层的COMMAND。这些命令基本用来查看各种信息。

1、彩蛋——APP模式

APP模式可以在独立窗口中操作Jenkins。体验就好像在操作APP一样。

命令:

jenkins app

视频演示:

阅读全文
Jenkinsclient系列教程之介绍与安装(一)

jenkinsclient简介

Jenkinsclient是一个功能强大的开源跨平台的Jenkins命令行客户端。提供类似Docker风格的命令行来让用户操作Jenkins。

Jenkinsclient使用Python语言编写,项目源码采用国产木兰开源许可证开源。你可在Gitee和Github上查看。

Gitee: https://gitee.com/hummerstudio/jenkinsclient

Github: https://github.com/hummerstudio/jenkinsclient

项目主页:https://pypi.org/project/jenkinsclient

阅读全文
自动化革命与DevOps

自动化是一个革命性的概念和技术。

初代自动化

第一代自动化是天地系统的自动化,即万物的生长。

天阳供能,地阴成形,古圣人察而用之。顺四时,因地宜,谓之无为。无为非不为,乃顺自然而为。

这一代的自动化,是天、地、人三要素。

天气,反映太阳能的供给强度和总量。天气之变,大分为四季,小分为二十四节气。地形,各有不同,故因地制宜;人,须在合适的天时地利处播种、浇水、施肥、投喂,如同与天地合奏,故谓之人和。

天地虽然已自动化,但对人而言,需要在合适的时间节点采取合适的行动,才能让万物按人类的意愿生长。

阅读全文
Jenkins插件更新中心地址修改工具,一键修改为国内镜像地址

Jenkins插件中心国内镜像

Jenkins拥有的1500+插件是其最宝贵的资源和特色,这些插件为Jenkins提供了强大的功能、灵活性以及与其他平台连接交互的能力。

然而最近一段时间以来,国内用户明显感觉到,Jenkins下载插件的速度非常慢,并且经常出现超时无法下载的情况。这个问题给国内用户带来了很大的困扰。

这主要是因为Jenkins开源社区的网络基础设施服务器都在国外。

2019年11月,Jenkins中文社区推出了国内镜像源地址。

该镜像源解决了其他镜像源一直存在的无法真正使用的问题,使得国内用户在下载插件时能充分发挥出宽带应有的速度。

阅读全文
如何使用Jenkins声明式流水线

Jenkins为您提供了两种开发管道代码的方式:脚本式和声明式。

脚本式流水线(也称为“传统”流水线)基于Groovy作为其特定于域的语言。 而声明式流水线提供了简化且更友好的语法,并带有用于定义它们的特定语句,而无需学习Groovy。

Jenkins的流水线插件版本2.5引入了对声明式流水线的支持。

在本文中,我们将介绍开发声明式流水线脚本的所有可用指令,这将清楚地说明其功能。

阅读全文
Jenkins常见问题集锦(七)

问题31:有多个环境相同的节点,希望能够实现自动将任务分配到空闲节点上,能实现么?

参考:只需要将这些环境相同的节点配置同样的标签即可,任务指定这个标签作为运行节点,Jenkins就会自动选择空闲节点来执行任务。 Jenkins中的标签有分类、分组的意思,就像微信通讯录里的标签功能一样。不过设计的不太明显,不知道的话容易将其理解为唯一id来用。

问题32:Jenkins如何对接各种静态检查工具?

阅读全文
Jenkins常见问题集锦(四)

问题16:设置超时时间能够用Pipeline代码实现吗?

参考:可以。如以下代码,表示设置超时时间1小时,在流水线全局和阶段(stage)级别都可以设置:

options {
  timeout(time: 1, unit: 'HOURS')
}

问题17:有什么可以监控Jenkins配置变化的插件吗?

阅读全文
Jenkins常见问题集锦(三)

问题11:Pipeline脚本里怎么触发其他Jenkins任务?

参考:有一个build步骤,可以研究一下,支持同步或异步触发。

问题12:有没有方便的方法看Jenkins上当前安装的插件列表和版本?插件管理-已安装里可以看到,但是复制下来有多余的信息,不好处理。比如多了插件简介,复制到表格里还要手动一个个删除。

阅读全文
Jenkins常见问题集锦(二)

问题6:Blue Ocean和Jenkins是什么关系?

参考:通俗理解,Blue Ocean可以看作是Jenkins推出的新的UI界面,有更现代的外观和更好的交互。

当然最重要的还是对Jenkins 2.x推出的新的流水线任务类型的支持,可以清晰展示整个流水线(Pipeline)各个阶段(stage)的串并行关系和状态。

阅读全文
Jenkins常见问题集锦(一)

问题1:Jenkins和Docker怎么结合?

参考:Jenkins和Docker结合可以将容器作为Jenkins的slave节点,有很多优点。比如实现执行环境的统一,slave的自动创建和销毁,免去了人工维护环境的成本等。

问题2:写pipeline时,两个stage,第一个随机指定一台机器运行,第二个需要跟第一个在同一台机器上,有什么办法来做吗?

阅读全文
流水线的创建应该叫搭建、配置还是开发?

在软件开发和持续集成/交付的领域,Jenkins是一个非常受欢迎的工具,用于自动化构建、测试和部署流程。Jenkins流水线是一种强大的机制,可以通过定义一系列的阶段、步骤和条件来自动化整个软件交付流程。然而,在描述流水线的创建过程时,我们应该使用哪个词来形容:搭建、配置还是开发呢?

阅读全文
Jenkins版本类型介绍及选择策略

Jenkins简介

Jenkins是一个流行的开源持续集成和交付工具,它提供了一个可扩展的插件生态系统,可以用于自动化构建、测试和部署软件项目。

Jenkins版本

Jenkins的版本类型可以分为以下几种:

  1. LTS版本:长期支持版本(LTS),每12周发布一次。这些版本经过广泛测试和验证,并且提供长期支持,通常用于生产环境。LTS版本的发布周期相对较长,因此相对稳定且可靠。

阅读全文
Jenkins插件更新中心地址修改工具,一键修改为国内镜像地址

Jenkins插件中心国内镜像

Jenkins拥有的1500+插件是其最宝贵的资源和特色,这些插件为Jenkins提供了强大的功能、灵活性以及与其他平台连接交互的能力。

然而最近一段时间以来,国内用户明显感觉到,Jenkins下载插件的速度非常慢,并且经常出现超时无法下载的情况。这个问题给国内用户带来了很大的困扰。

这主要是因为Jenkins开源社区的网络基础设施服务器都在国外。

2019年11月,Jenkins中文社区推出了国内镜像源地址。

该镜像源解决了其他镜像源一直存在的无法真正使用的问题,使得国内用户在下载插件时能充分发挥出宽带应有的速度。

阅读全文
Jenkins常见问题集锦(七)

问题31:有多个环境相同的节点,希望能够实现自动将任务分配到空闲节点上,能实现么?

参考:只需要将这些环境相同的节点配置同样的标签即可,任务指定这个标签作为运行节点,Jenkins就会自动选择空闲节点来执行任务。 Jenkins中的标签有分类、分组的意思,就像微信通讯录里的标签功能一样。不过设计的不太明显,不知道的话容易将其理解为唯一id来用。

问题32:Jenkins如何对接各种静态检查工具?

阅读全文
Jenkins常见问题集锦(四)

问题16:设置超时时间能够用Pipeline代码实现吗?

参考:可以。如以下代码,表示设置超时时间1小时,在流水线全局和阶段(stage)级别都可以设置:

options {
  timeout(time: 1, unit: 'HOURS')
}

问题17:有什么可以监控Jenkins配置变化的插件吗?

阅读全文
Jenkins常见问题集锦(三)

问题11:Pipeline脚本里怎么触发其他Jenkins任务?

参考:有一个build步骤,可以研究一下,支持同步或异步触发。

问题12:有没有方便的方法看Jenkins上当前安装的插件列表和版本?插件管理-已安装里可以看到,但是复制下来有多余的信息,不好处理。比如多了插件简介,复制到表格里还要手动一个个删除。

阅读全文
Jenkins常见问题集锦(二)

问题6:Blue Ocean和Jenkins是什么关系?

参考:通俗理解,Blue Ocean可以看作是Jenkins推出的新的UI界面,有更现代的外观和更好的交互。

当然最重要的还是对Jenkins 2.x推出的新的流水线任务类型的支持,可以清晰展示整个流水线(Pipeline)各个阶段(stage)的串并行关系和状态。

阅读全文
Jenkins常见问题集锦(一)

问题1:Jenkins和Docker怎么结合?

参考:Jenkins和Docker结合可以将容器作为Jenkins的slave节点,有很多优点。比如实现执行环境的统一,slave的自动创建和销毁,免去了人工维护环境的成本等。

问题2:写pipeline时,两个stage,第一个随机指定一台机器运行,第二个需要跟第一个在同一台机器上,有什么办法来做吗?

阅读全文
Jenkins插件更新中心地址修改工具,一键修改为国内镜像地址

Jenkins插件中心国内镜像

Jenkins拥有的1500+插件是其最宝贵的资源和特色,这些插件为Jenkins提供了强大的功能、灵活性以及与其他平台连接交互的能力。

然而最近一段时间以来,国内用户明显感觉到,Jenkins下载插件的速度非常慢,并且经常出现超时无法下载的情况。这个问题给国内用户带来了很大的困扰。

这主要是因为Jenkins开源社区的网络基础设施服务器都在国外。

2019年11月,Jenkins中文社区推出了国内镜像源地址。

该镜像源解决了其他镜像源一直存在的无法真正使用的问题,使得国内用户在下载插件时能充分发挥出宽带应有的速度。

阅读全文
Jenkinsclient系列教程之查看基本信息(二)

配置好Jenkinsclient后,就可以通过命令来操作Jenkins了!

jenkinsclient的命令格式是:

jenkins GROUP | COMMAND

GROUP是指一组命令,比如job是一个组命令,它有以下命令:

jenkins job build   //构建任务
jenkins job copy    //复制任务
jenkins job create  //创建任务
jenkins job delete  //删除任务
jenkins job disable //禁用任务
jenkins job enable  //启用任务
jenkins job has     //查看任务是否已存在
jenkins job info    //显示任务信息
jenkins job ls      //显示任务列表
jenkins job rename  //重命名任务
jenkins job xml     //显示任务的config.xml内容

今天我们先不介绍组命令,先介绍第一层的COMMAND。这些命令基本用来查看各种信息。

1、彩蛋——APP模式

APP模式可以在独立窗口中操作Jenkins。体验就好像在操作APP一样。

命令:

jenkins app

视频演示:

阅读全文
Jenkinsclient系列教程之介绍与安装(一)

jenkinsclient简介

Jenkinsclient是一个功能强大的开源跨平台的Jenkins命令行客户端。提供类似Docker风格的命令行来让用户操作Jenkins。

Jenkinsclient使用Python语言编写,项目源码采用国产木兰开源许可证开源。你可在Gitee和Github上查看。

Gitee: https://gitee.com/hummerstudio/jenkinsclient

Github: https://github.com/hummerstudio/jenkinsclient

项目主页:https://pypi.org/project/jenkinsclient

阅读全文
自动化革命与DevOps

自动化是一个革命性的概念和技术。

初代自动化

第一代自动化是天地系统的自动化,即万物的生长。

天阳供能,地阴成形,古圣人察而用之。顺四时,因地宜,谓之无为。无为非不为,乃顺自然而为。

这一代的自动化,是天、地、人三要素。

天气,反映太阳能的供给强度和总量。天气之变,大分为四季,小分为二十四节气。地形,各有不同,故因地制宜;人,须在合适的天时地利处播种、浇水、施肥、投喂,如同与天地合奏,故谓之人和。

天地虽然已自动化,但对人而言,需要在合适的时间节点采取合适的行动,才能让万物按人类的意愿生长。

阅读全文
自动化革命与DevOps

自动化是一个革命性的概念和技术。

初代自动化

第一代自动化是天地系统的自动化,即万物的生长。

天阳供能,地阴成形,古圣人察而用之。顺四时,因地宜,谓之无为。无为非不为,乃顺自然而为。

这一代的自动化,是天、地、人三要素。

天气,反映太阳能的供给强度和总量。天气之变,大分为四季,小分为二十四节气。地形,各有不同,故因地制宜;人,须在合适的天时地利处播种、浇水、施肥、投喂,如同与天地合奏,故谓之人和。

天地虽然已自动化,但对人而言,需要在合适的时间节点采取合适的行动,才能让万物按人类的意愿生长。

阅读全文
区分gradle三个不同层次的依赖

Gradle是一个非常灵活、强大的构建系统,但其概念也相对复杂,但只要抓住核心,做好区分,就不会觉得混乱。

下面的构建脚本,是否觉得难以理解:

buildscript {
    构建脚本依赖的仓库
    repositories {
        mavenCentral()
    }
    // 构建脚本依赖
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }
}
repositories {
    mavenCentral()
    jcenter()
    google()
}
dependencies {
    implementation 'com.google.guava:guava:30.1-jre'
    testImplementation 'junit:junit:4.13.2'
}  
plugins {
      id 'com.android.application'
      id 'org.jetbrains.kotlin.jvm' version '1.5.10'
}

阅读全文
Gradle依赖使用最新版本

Gradle中配置依赖,如果不指定版本,是会报错找不到依赖的。 但如果依赖很多,还需要去仓库一个个看依赖库的最新版本是多少。

那么gradle是否支持直接使用依赖的最新版本呢?

答案是肯定的,不过在gradle的文档中并没有在显著位置标识。

方式就是在version处填加号+gradle就会去自动识别最新版本去下载。

全部指定最新版本后,再根据日志去解决个别依赖冲突报错,事半功倍。

阅读全文
 关注微信公众号
DevOps持续交付公众号ID:devopscd