首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

写给Android工程师的 Github CI 快速指北

持续部署/交付的过程,需要进行自动化测试、版本控制、持续监控等操作,以确保代码质量和应用稳定性。 CI/CD 的优点包括加速软件开发、提高代码质量、降低风险、提高工作效率 等。...创建新的工作流 要创建一个工作流,有两种方式: 在线创建:Github-Reposity-actions 里去创建,创建过程可以随时添加别的工作流; 本地创建: 项目目录里创建 .github/workflows...再解释的通俗点就是: 当我main分支push了代码,或者提了一个新的PR,要合并到main分支,此时就会触发这个工作流。...比如当前示例,我们有多个任务,分别如下: -拉代码; -设置 jdk 与 Gradle 环境; -为 Gradle 设置运行权限; -执行 Gradle 命令: build; uses: 用于导入开源的...常用的环境变量 使用 Github Action ,我们常常会遇到需要使用一些环境变量的情况,比如最常用的 Github.token 等等,对于每一个工作流,默认提供了以下环境变量用于使用GITHUB_ACTION

61620
您找到你想要的搜索结果了吗?
是的
没有找到

GitHub Actions初体验:自动化校验和部署Java项目

文章总结了使用GitHub Actions自动化校验和部署Java项目的实践经验,提高效率和标准化CI/CD流程。...下面以Gradle方式构建的Java项目为例,说明如何使用GitHub Actions优化项目CI/CD流程。.../gradlew build 项目的.github/workflows文件夹增加这个文件,就可以PR自动触发。对代码进行校验同理。...因此,我们选择将所有密钥都放进环境变量,来可能保证密钥的安全性。 gradle文档可以找到使用环境变量的密钥签名方式。...因此,我们把密钥放进GitHub Secrets, 并在Github Actions中使用它。 另外,为了防止变更忘记修改版本号,PR触发自动发布task lists,来提醒开发者更新版本。

35310

如何使得自己的代码别人优雅引用:上传Android Library到JCenter 教程

方便 其他Android开发者 远程使用你的代码Android Library 即,通过Android Studio的build.gradle文件添加一句依赖即可。...具体请看文章:程序员必知:图文清晰介绍Git与Github(含二者关系、区别 & 使用场景) 3.2 具体上传 步骤1:配置bintray-release插件 包括Module & 项目Gradle...上传成功提示如下: 注:执行可能出错的问题 // 错误日志:说明权限有问题 bash: ..../gradlew: Permission denied // 解决方案:获得权限,直接在终端输入以下命令 chmod +x gradlew 至此,已经将项目上传到 JCenter了,可进入查看相关信息...即,如何将代码上传到Jcenter讲解完毕 3.3 额外注意:版本更新 当需要进行Android Library版本更新,只需要以下2个步骤: 步骤1:该Module的Gradle文件的配置2

95620

这是一份详细&清晰的 上传Android Library到JCenter 教程:如何使得自己的代码别人优雅引用

方便 其他Android开发者 远程使用你的代码Android Library 即,通过Android Studio的build.gradle文件添加一句依赖即可。...具体请看文章:程序员必知:图文清晰介绍Git与Github(含二者关系、区别 & 使用场景) ---- 3.2 具体上传 步骤1:配置bintray-release插件 包括...上传成功提示如下: 注:执行可能出错的问题 // 错误日志:说明权限有问题 bash: ..../gradlew: Permission denied // 解决方案:获得权限,直接在终端输入以下命令 chmod +x gradlew 至此,已经将项目上传到 JCenter了,可进入查看相关信息...即,如何将代码上传到Jcenter讲解完毕 ---- 3.3 额外注意:版本更新 当需要进行Android Library版本更新,只需要以下2个步骤: 步骤1:该Module的Gradle

84220

这是一份详细&清晰的 上传Android Library到JCenter 教程:如何使得自己的代码别人优雅引用

方便 其他Android开发者 远程使用你的代码Android Library 即,通过Android Studio的build.gradle文件添加一句依赖即可。...解决方案:保持module名称和artifactId一致 项目Gradle文件配置 // 配置1 classpath 'com.novoda:bintray-release...上传成功提示如下: 注:执行可能出错的问题 // 错误日志:说明权限有问题 bash: ..../gradlew: Permission denied // 解决方案:获得权限,直接在终端输入以下命令 chmod +x gradlew 至此,已经将项目上传到 JCenter了,可进入查看相关信息...即,如何将代码上传到Jcenter讲解完毕 3.3 额外注意:版本更新 当需要进行Android Library版本更新,只需要以下2个步骤: 步骤1:该Module的Gradle文件的配置

1.1K20

用aliyun的Maven仓库下载Android Studio内依赖包

Android Studio 3.0以后,以下状况基本不会发生了,就当方法废弃吧 从GitHub导入新项目,总是gradle运行卡壳,各种依赖包无法从jcenter或者Maven仓库下载下来,公司网也差...init.gradle位置 init.gradle 文件会在gradle 命令行运行时先调用来进行初始化,gradle语言使用的是Groovy,跟Java类似 allprojects{ repositories...代理 Android Studio验证gradle版本, Windows:gradlew -v 或 gradle -v Ubuntu:gradle -v (为什么今天运行..../gradlew -v说权限不足呢……TAT) ? 验证gradle版本 如果如下图,恭喜,不需要配置了 ?...gradle版本.png ****以后开启软件,如果gradle自动构建失败,你可以界面右下角手动停止,然后终端输入 (windows) "gradlew"; (ubuntu) ".

1.1K20

mac上配置react-native环境run-iosrun-android命令遇到的问题

gradle权限问题 gradle默认都是下载2.14.1的,run-android可能会出现下载失败或者长时间下载不了,这时就手动去下载。...mac调用本地文件可能会出现权限问题,这时选中你的项目文件夹,右键选择显示简介,拉到最下面,如下图: ? 先点击小锁,输入密码解锁,然后点击设置图标按钮,选择应用到包含的项目,确定,点击小锁锁定。...想到会不会是打开构建文件没有权限导致的没有任何报错,于是项目根目录执行以下代码: chmod 755 android/gradlew 对于权限命令不理解的可以点这里 给到权限后执行react-native...run-android,成功运行~ ps:修改权限后 android/gradlew 文件引起了一个问题(虽然文件内容没有变化,但是文件git上是有变化可以上传的),另一台window电脑上使用...mac修改权限后的gradlew文件引发了如下错误: ?

1.4K30

如何做 Serverless 自动化部署

操作步骤 为了让这个部署过程更简单,我 GitHub 的市场中发布一个腾讯云 Serverless 部署的 Action 来帮助大家快速完成自动化部署。...如下图所示,ID 和 KEY 可以腾讯云的访问控制里面获取: 配置完成之后,每次推送代码,都将会自动触发部署流程,同时 Actions 可以实时看到执行结果与错误日志。...如下图: 大家还可以根据项目需要,流程添加测试、安全检查、发布等步骤。.../gradlew build" // 此行用于Java Gradle项目 sh "mkdir zip" // 此行仅用于Java Web函数,用于存放jar和scf_bootstrap文件。...未来我还会继续探索更多的适用于 Serverless 的 DevOps 实践,腾讯云云函数公众号与大家分享。 如果有任何疑问或在操作遇到任何困难可以文章下方留言,我会回复大家。

94040

mac上配置react-native环境run-iosrun-android命令遇到的问题

gradle权限问题 gradle默认都是下载2.14.1的,run-android可能会出现下载失败或者长时间下载不了,这时就手动去下载。...mac调用本地文件可能会出现权限问题,这时选中你的项目文件夹,右键选择显示简介,拉到最下面,如下图: ? 先点击小锁,输入密码解锁,然后点击设置图标按钮,选择应用到包含的项目,确定,点击小锁锁定。...想到会不会是打开构建文件没有权限导致的没有任何报错,于是项目根目录执行以下代码: chmod 755 android/gradlew 对于权限命令不理解的可以点这里 给到权限后执行react-native...run-android,成功运行~ ps:修改权限后 android/gradlew 文件引起了一个问题(虽然文件内容没有变化,但是文件git上是有变化可以上传的),另一台window电脑上使用...mac修改权限后的gradlew文件引发了如下错误: ?

1.5K30

Android Gradle 入门

为什么会有这样的假定呢,因为这本书是介绍Android Gradle开发构建的书,所以不会花章节去讲Java的基本知识,能希望读者会用Linux操作系统的原因,是因为作者该书的所有脚本、代码、IDE等都是基于...在这里特别介绍的目的是因为我们项目开发过程,用的都是wrapper这种方式,而不是我们1.1里介绍的自己下载ZIP压缩包,配置Gradle的环境的方式。...gradle-wrapper.jar是具体业务逻辑实现的jar包,gradlew最终还是使用java执行的这个jar包来执行相关gradle操作。.../gradlew的时候一直卡着不动,可能是因为官方的gradle地址墙了,建议使用访问外国网站工具试试,或者把该地址换成别的镜像地址。...上两种情况我们实际项目中都遇到过,最后就是通过强制刷新解决的。

84340

6个技巧加速你的gradle编译

带着一粒盐,你的里程可能会发生变化(这句话我也没懂什么意思…) 第二步是gradle构建启用分析,去看这些gradle命令你会获取到一份好的日志: ..../gradlew :android:assembleDebug --dry-run --daemon 我的机器上,一段时间后,使用gradle daemon要比不适用快的不是一点点: BUILD SUCCESSFUL...当我们用wrapper的时候,去改变我们正在用的gradle版本,仅仅需要去更改wrapper配置的几个数字而已。...4.优化项目 到现在为止,我们一直在谈编译消耗构建上。说实话,大部分你能够加速优化的地方实际的构建过程隐藏掉了。...好吧,我们的demo,我们保存的大部分时间消除开销,但是我们看看生成项目会发生什么?让我们看一下怎样能真正的加速gradle构建。

1.9K30

Github 实现组件自动发布

JitPack 还可以凑合着用用,但是发布要去网站手动点 Get it,而且最近还遇到 JitPack 发布插件无法发布的问题,种种问题都让我觉得现在的组件发布都非常的蛋疼。.../MRwangqi/Maven/main 我们只需要在项目的 build.gradle 按如下进行引入镜像源即可: repositories { google() // 引入 github...1、创建 Actions Github Actions 提供了很多现成的模板,我们可以创建个Android CI 的模板来看看构建一个 apk 需要做哪些操作 点击 Configure 即可进入 yml.../gradlew build 就是构建我们项目的命令,那我们替换成 ./gradlew assembleDebug 不就是执行打包构建了吗?确实,构建项目就是这么如此的简单。...Deploy 发布过程可以看见,我们已经发布成功: 然后我们去 https://github.com/MRwangqi/Maven 仓库看下,aar 已经成功成功发布: 需要注意的是: git-publish-subdir-action

82450

Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目02

概述 将工程托管到Github Gradle构建 为什么一个main函数就能启动web并提供这么多功能 幕后的 Spring Boot 分发器和 multipart 配置 视图解析器、静态资源以及区域配置...---- 将工程托管到Github 不过,真正开始我们的系列之前,我们先将工程托管到GitHub上吧 请参考以前的博文 Git-将已有的项目转换为GIT项目托管到 GITHUB 仓库 Windows操作系统... 对 Spring Boot 插件的依赖,它分布 Maven 中央仓库。  我们的项目是 Java 工程。Gradle 可以为 Eclipse 生成 IDE 工程文件。... 我们的项目的依赖是托管 Maven 中央仓库的。...---- 为什么一个main函数就能启动web并提供这么多功能 我们启动应用时,是从main 函数启动,这种方式有很大的优势,因为我们可以 IDE 像运行其他程序那样运行这个应用。

86030

ReactNative报错记录以及原因分析 ReactNative报错记录

react-native start 然后就可以android studio像启动其它原生app项目一样启动项目了。...2.设置项目名称AppDelegate.m和index.ios.js不一致,或者主业务逻辑页面的名称不一致,如下图所示。...Failed to resolve: com.facebook.react:react-native+ 版本号为0.20.1问题解决 问题描述: Android项目和RN混编, 集成RN过程,遇到了...我的项目之所以出问题是因为,项目集成rn本地的仓库地址做了更新, 走错了仓库, 所以没有拿到正确的本地maven地址....为什么会失败,大致由于link操作的时候,默认的是:包路径根项目下的MainApplication和MainActivity这两个类 但是很多时候,我们的原生项目中的类不在包路径根目录,所以会报link

4.3K10

Android Studio查看第三方库依赖树

项目的开发过程,我们或多或少都会引入第三方库,引入的库越多,越容易产生库之间的依赖冲突。...还没添加依赖之前,项目中也是使用的Glide进行图片的加载,会不会是项目中的Glide与容联Demo的Glide有冲突呢。...这就是我之前遇到的库冲突的问题,这个问题有错误信息可以定位到是Glide库依赖的问题,要是遇到其它错误信息没那么显著的,那是不是就头疼了呢。...当时遇到这个问题,我并没有使用查看依赖树的方式,而是直接查看了源码,因为当时我并不知道还能这么干,幸运的是很快就定位到了问题所在,所以当我们升级第三方库或者引入新的第三方库,库与库之间依赖冲突,我们需要知道每个第三方依赖库的依赖树.../gradlew :app:dependencies --configuration compile Window系统下,无需使用./开头,直接使用gradlew即可。

2.3K30

Java编程思想第五版(On Java 8)(二)-安装Java和本书用例

开始学习 Java 之前,你必须要先安装好 Java 和本书的源代码示例。因为考虑到可能有“专门的初学者”从本书开始学习编程,所以我会详细地教你如何使用命令行。...出于本书的原因,下面列举一些 Shell 的基本操作: 更改目录: cd cd .....如果你正确的目录,你应该看到该目录名为 gradlewgradlew.bat 的文件,以及许多其他文件和目录。目录与书中的章节相对应。.../gradlew run 第一次安装 Gradle 需要安装自身和其他的相关的包,请稍等片刻。安装完成后,后续的安装将会快很多。 注意: 第一次运行 gradlew 命令必须连接互联网。...以下是你通常会使用上的 Gradle 任务列表: 编译本书中的所有 java 文件,除了部分错误示范的 gradlew compileJava 编译并执行 java 文件(某些文件是库组件

94041

工具篇 | Gradle入门与使用指南 - 附Github仓库地址

基础概念3.1 项目和任务Gradle,构建是由项目和任务组成的。...---常用的Gradle任务Gradle,每一个构建动作都是通过执行一个或多个任务来完成的。当我们引入插件,这些插件通常会为我们预定义一些任务。以下,我们将深入探讨一些常用的Gradle任务。...Gradle 提供了两个强大的特性来加速构建:构建缓存和增量构建。11.1 为什么需要缓存?每次运行构建,都有很多任务是重复的,尤其是没有对代码或资源做任何修改的情况下。...Wrapper由一个小的gradlew(Unix系统)或gradlew.bat(Windows系统)脚本和一些库文件组成。12.2 为什么使用Gradle Wrapper?.../gradlew Windows上:> gradlew.bat 如果你看到有人在项目的README或构建指南中推荐使用gradlew而不是gradle,这就是为什么

1.3K40

GitHub Actions制作Docker镜像

推送镜像到hub.docker.com,需要用到该网站的帐号和密码,这些信息自然不能写在GithHub仓库的代码,如下图,页面上按照下面红框的顺序新增两个secret类型的环境变量,稍后GitHub...Actions脚本中用变量名就能使用具体的帐号和密码了: 编写GitHub Actions脚本 这里我选择了在线编辑GitHub Actions脚本(您也可以本地编辑后提交推送到GitHub),如下图红框...,Github项目页面上点击Actions: 如果该项目未曾添加过Actions脚本,您会看到一些脚本模板的推荐,如下图,选择红框Gradle模板: 如下图,此时出现在线编辑脚本的页面,可见GitHub...execute permission for gradlew # 给gradlew可执行权限 run: chmod +x gradlew - name: Build with...,记下这次提交的id是ae465b4,登录hub.docker.com网站,可以见到新增的docker镜像已经就绪,tag就是ae465b4 Actions操作何时触发?

94510

教你一步步发布一个开源库到 JCenter

接下去就跟 Github 的概念有点不一样了, Github 上我们一个仓库通常对应一个具体的项目,本地项目长啥样,Github 上的仓库基本也就长啥样。...:gradle:2.3.3' } 同样的道理,要使用 bintray gradle 插件,同样也得项目的 build.gradle 文件配置: dependencies { //Android...3.2 配置身份验证信息(敏感信息) 经常使用 Github 肯定还觉得需要关键的用户跟秘钥信息是不是,否则使用 Git 上传项目Github没办法进行身份验证。...bintrayUpload 用于将生成的 pom,aar 等文件上传至 bintray 仓库; 跟编译、运行项目一样,当按顺序分别执行上述两条脚本命名,如果运行成功,你可以日志中看到 BUILD...块先进行声明,赋值 理解 exe 块的各种配置项的含义 Android Studio 的 Terminal 面板直接执行 gradlew install, gradlew bintrayUpload

2K140
领券