我一直试图让Travis-CI在提交被推送到[master]时自动在GitHub Releases上发布它的构建产品.
不幸的是,GitHub Releases需要一个标签才能发布.作为一种解决方案,我试图让Travis自动生成标签并将其应用于提交.但是,每次Travis更新存储库时,都会导致发布失败.
因此,我当前的设置错误是什么,并且有没有办法完成我所描述的内容.
我的travis.yml:
language: java
before_install: chmod +x gradlew
install: true
matrix:
include:
- jdk: oraclejdk8
script: ./gradlew build
before_deploy:
- git config --global user.email "builds@travis-ci.com"
- git config --global user.name "Travis CI"
- export GIT_TAG=$TRAVIS_BRANCH-0.1.$TRAVIS_BUILD_NUMBER
- git tag $GIT_TAG -a -m "Generated tag from TravisCI for build $TRAVIS_BUILD_NUMBER"
- git push -q https://$TAGPERM@github.com/RlonRyan/JBasicX --tags
deploy:
skip_cleanup: true
provider: releases
api_key:
secure: [redacted]
file:
- "build/libs"
- "build/classes/test/output"
on:
tags: false
all_branches: true
env:
global:
secure: [redacted] …Run Code Online (Sandbox Code Playgroud) 我的 Android 项目有一个 (Windows) Jenkins 管道,我正在尝试获取文件versionName中的定义build.gradle。根据/sf/answers/3574698361/和/sf/answers/3320615861/我有以下设置:
构建.gradle
android {
defaultConfig {
versionCode 71
versionName "2.3.0.Beta10"
}
}
task versionName{
doLast {
println android.defaultConfig.versionName
}
}
Run Code Online (Sandbox Code Playgroud)
詹金斯文件
pipeline {
environment {
SERVER_PATH = '\\\\ARK_SRV\\Android\\'
}
agent any
stages {
stage('Create Directory') {
steps {
script {
def VERSION_NAME = bat (script: "./gradlew -q versionName", returnStdout: true).trim()
echo "Version Name: ${VERSION_NAME}"
def FINAL_DIR = SERVER_PATH + VERSION_NAME
echo "Final Directoy: ${FINAL_DIR}"
// ...
} …Run Code Online (Sandbox Code Playgroud) 我必须使用 GitHub 操作提供的创建发布操作来创建发布。build.gradle 文件中的默认配置参数如下;
defaultConfig {
applicationId "com.example.myapp"
minSdk 21
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Run Code Online (Sandbox Code Playgroud)
以及 GitHub Actions yml 文件中的操作,如下所示;
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: <I need gradle version name here! It is 1.0>
release_name: Release <I need gradle version name here! It is 1.0>
body: |
Release body
draft: false
prerelease: false
Run Code Online (Sandbox Code Playgroud)
如何获取 GitHub Actions yml 文件中的 gradle versionName 以创建 GitHub 版本?