当前位置: 首页 > news >正文

遂宁商城网站建设太原电脑培训班哪家好

遂宁商城网站建设,太原电脑培训班哪家好,公司装修图片大全,wordpress做手机版自从多年前 JCenter 关闭服务之后#xff0c;GSY 项目版本就一直发布在 Jitpack 上#xff0c;如今每个月也都有大概 10w 左右下载#xff0c;但是近年来时不时就会出现历史版本丢失的问题#xff0c;而且有时候还不是某个具体版本丢失#xff0c;而是版本里的某几个依赖突…自从多年前 JCenter 关闭服务之后GSY 项目版本就一直发布在 Jitpack 上如今每个月也都有大概 10w 左右下载但是近年来时不时就会出现历史版本丢失的问题而且有时候还不是某个具体版本丢失而是版本里的某几个依赖突然 404 了例如 #6645 / #5973 问题所示所以在找不到原因的情况只能寻找多一个版本托管的平台做 backup。 在对比了 MavenCenter 和 Github Packages 之后感觉还是 Github Packages 更加符合我这个懒人的要求首先不需要注册新平台帐号体系还在 Github 内通过 Github Action 就可以实现自动构建之后根据 tag 将 aar 包发布到 Github Packages 整体来说还是比较轻量。 昨天评论区有人说介绍下这个流程所以这里就简单梳理一下其实并不复杂。 开始 使用 Github Action 我记得以前也介绍过相对来说也挺简单只需要在自己 Github 的开源项目下创建 .github/workflows 目录然后编写脚本就可以完成接入另外针对 Github Actions 官方还提供了 marketplace 用于开发者提交或者引用别人写好的 aciton 所以很多时候开发者在使用 Github Actions 时其实会变成了在 marketplace 里挑选和组合 action 的场景。 以下是 GSY 项目在 .github/workflows/release.yml 下的 action 配置这里简单介绍一下 on push tags 表示在提交任意 tag 时触发 action 执行你也可以自己定制规则jobs 下有两个任务一个是 release 用于构建一个 demo apk一个是 publish 用于发布 Github Packagesrelease 下 runs-on: ubuntu-latest 指定运行环境使用 actions/checkoutv3 切换到指定 tag使用 actions/setup-javav3 指定 jdk 版本使用 gradle/gradle-build-actionv2 指定 gradle 环境并执行命令 app:assembleRelease使用 ncipollo/release-actionv1 将编译好的 apk 发布到 github release publish 下 给予同样逻辑不同之处在于通过 gradle 环境直接执行 ./gradlew publish 将 library aar 发布到 github packags 的 mvn name: Releaseon:push:tags:- *jobs:release:name: Github Releaseruns-on: ubuntu-lateststeps:- uses: actions/checkoutv3- uses: actions/setup-javav3with:distribution: zulujava-version: 21- name: Build APKuses: gradle/gradle-build-actionv2with:arguments: app:assembleRelease- name: Create Releaseuses: ncipollo/release-actionv1with:artifacts: app/build/outputs/apk/release/app-release.apktoken: ${{ secrets.GITHUB_TOKEN }}publish:name: Publish To Github Packagesruns-on: ubuntu-latestpermissions:contents: readpackages: writesteps:- uses: actions/checkoutv4- uses: actions/setup-javav4with:distribution: zulujava-version: 21- uses: gradle/gradle-build-actionv2- name: Publish Packagerun: ./gradlew publishenv:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}上述的 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 是通过 github 通用 ci 的 automatic-token-authentication 实现 在每个 workflow job 执行时GitHub 会自动创建一个唯一的 GITHUB_TOKEN 密钥在 workflow 中进行身份验证Token 的权限仅限于包含workflow 的仓库。 可以看到一套下下来基本不需要你写什么 action 脚本之后就是在每个需要发布的 library 的 build.gralde 添加脚本 例如这里 https://maven.pkg.github.com/ 是固定前缀用户是 CarGuorepo 名为 GSYVideoPlayer 的 publishing 配置而 credentials 只需要在 action 运行时读取系统变量配置即可 apply plugin: maven-publishpublishing {repositories {maven {name gsyvideoplayerurl https://maven.pkg.github.com/CarGuo/GSYVideoPlayercredentials {username System.getenv(GITHUB_ACTOR)password System.getenv(GITHUB_TOKEN)}}} }剩下的就是发布 mvn 的常规配置这部分应该无需多言了简单举个例子例如写一个通用的 publish.gradle 读取 gradle.properties 配置然后将这个 publish.gradle apply 到上面的 build.gralde 脚本里 apply plugin: maven-publishandroid {publishing {singleVariant(release) {withSourcesJar()withJavadocJar()}} }afterEvaluate {publishing {publications {release(MavenPublication) {from components.releasegroup PROJ_GROUPartifactId PROJ_ARTIFACTIDversion PROJ_VERSIONpom {name PROJ_NAMEdescription PROJ_DESCRIPTIONurl PROJ_VCSURLlicenses {license {name The Apache License, Version 2.0url https://www.apache.org/licenses/LICENSE-2.0.txt}}developers {developer {id DEVELOPER_IDname DEVELOPER_NAME}}scm {connection PROJ_ISSUETRACKERURLdeveloperConnection PROJ_VCSURLurl PROJ_WEBSITEURL}}}}} }以下就是对应上述 publish.gradle 的根目录下的 gradle.properties 配置核心就是前面四个参数简单来说就是 com.shuyu:gsyvideoplayer:10.0.0 这样的对应 PROJ_GROUPcom.shuyu PROJ_VERSION10.0.0PROJ_NAMEgsyvideoplayer PROJ_ARTIFACTIDgsyvideoplayerPROJ_WEBSITEURLhttps://github.com/CarGuo/GSYVideoPlayer PROJ_ISSUETRACKERURLhttps://github.com/CarGuo/GSYVideoPlayer/issues PROJ_VCSURLhttps://github.com/CarGuo/GSYVideoPlayer.git PROJ_DESCRIPTIONandroid video player PROJ_USER_MAVENGSYVideoPlayerDEVELOPER_IDguo DEVELOPER_NAMEguoshuyu DEVELOPER_EMAILxxxxxx.com如果一个 project 有多个 module 需要发布定义可以在每个 moudle 的 gradle.properties 配置单独配置 PROJ_NAME 和 PROJ_ARTIFACTID 变量 在此之后只需要在 git 提交时提交某个 tag github 就会自动触发 action 执行然后构建 aar 包并发布到 github packages 。 当然这里有一个很让人菊紧的问题那就是 PROJ_NAME 和 PROJ_ARTIFACTID 必须是小写别问我为什么我也不知道stackoverflow 上大家都这么说如果有大写会出现如图 Received status code 422 from server: Unprocessable Entity 这样的错误改成全小写才成功通过 成功发布后就可以在你的 Packages 上看到提交的包了之后就可以开始引用不过 github packags 引用 mvn 也有一个让人菊紧的问题。 引用 github mvn 主要是需要在你的 allprojects{ repositories { 下增加 https://maven.pkg.github.com 的引用如下代码所示这里主要是需要 credentials 授权是的github packages 上就算你的 mvn 包是 public 的它也需要你授权而且目前 github 的口径是不考虑不授权支持而授权主要是通过生成一个用户 token 来完成。 maven {url https://maven.pkg.github.com/CarGuo/GSYVideoPlayercredentials {username 你的github账户password 你的生成 token} }生成 token 理论上就是在 Github 右上角点击头像然后 Settings - Developer Settings - Personal access tokens - tokens (classic) - Generate new tokenclassic 即可生成这里需要注意 记得过期时间选择永久如果只是为了 mvn就选一个 read:packages 即可 详细生成自己 token 的方式可见https://docs.github.com/zh/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens 到这里基本完成了 github ci 发布 mvn 和引用的工作了其实抛开 gradle mvn 配置部分其实整个流程还是简单的首先 github 账号和 github 项目本来就存在的只需要配置下 action 和 gradle 指向 github pkg 即可完成发布之后只需要在每次需要发布时提交 tag 即可实现自动发布除了引用麻烦一些其实整体都还不错。
http://www.dnsts.com.cn/news/265256.html

相关文章:

  • 北京网络营销的培训课程大连seo按天付费
  • 网站程可以自己做吗WordPress获取文章封页图
  • 网站备案哪里管wordpress在线时长插件
  • 怎么免费建立网站wordpress 没有小工具
  • 网站设计要求 优帮云玻璃钢产品哪个网站做推广好
  • typecho前端建站工具wordpress4.2.19 漏洞
  • 搜索引擎网站盈利模式搭建之星
  • 给别人做网站别人经营违法求推荐好玩的网页游戏
  • 邯山区住房和城乡建设局网站丹东网站建设
  • jsp网站开发 开题依据品牌营销策划公司哪家好
  • 小颜自助建站系统滨海新区网站建设
  • 怎么做淘宝客网站wordpress喜欢_赏_分享
  • 国际 网站制作公司洗发水营销推广软文800字
  • 乐清网站只做施工企业费用预算的编制内容包括
  • 网站开发江西点点 网站建设
  • 佛山专业网站开发公司wordpress logo
  • 网站快速排名推荐网络推广话术技巧
  • windows 2003 iis 多网站一键生成ppt免费
  • 商业网站开发实训心得体会范文网站设计网站设计网站设计
  • 河北保定建设工程信息网站辽宁做网站和优化哪家好
  • html5 手机网站开发淘宝做动图网站
  • 网站建设注意事项手机网站方案.doc
  • 企业网站seo维护南沙建设网站
  • linux建站和wordpress建站网络工程师培训学校
  • 行业网站做的好的自己做的网站怎么取sql数据库
  • 广州营销网站建设东莞网站设计及拍摄方案公司
  • 基于html5的移动端网站开发制作网页常见的布局方法有
  • 广州网站开发 找亦客公司优质wordpress调用分类目录
  • 广州魔站建站邯郸建设企业网站
  • 网站底部浮动电话广告做网站时默认字体是微软雅黑