【问题标题】:Push into master branch from Travis CI从 Travis CI 推入 master 分支
【发布时间】:2020-04-12 04:26:19
【问题描述】:

我正在从 Jenkins 切换到 Travis CI。

在 Jenkins 中,我不必编写脚本来将我的 Java/android 库推送到 Git 主分支。

对于 Travis,我的所有研究表明我需要编写一个自定义 bash 脚本以在 after_success 中执行。

这是我的deploy.sh

#!/bin/bash
rev=$(git rev-parse --short HEAD)
git config user.name "uname"
git config user.password "password"
git add .
git commit -m "travis commit at ${rev}"
git push origin master

还有我的.travis.yml

branches:
  only:
    - development

language: android
sudo: false

android:
  components:
    - build-tools-22.0.1
    - android-22

script:
  - cd appdir
  - ./gradlew test


after_success:
  - cd ..
  - ./deploy.sh

before_cache:
  - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
cache:
  directories:
    - $HOME/.gradle/caches/
    - $HOME/.gradle/wrapper/

script 部分下,我从根目录cd 到我的appdir 并从那里运行测试(成功)然后在after_success 部分,我cd 回到我的deploy.sh 的根目录找到并调用它。

我的 Travis CI 控制台显示一切正常,但我的 master 分支中没有任何变化。

我做错了什么吗?

谢谢。

【问题讨论】:

  • 你能显示来自 deploy.sh 的日志吗?
  • 请将git remote -v添加到deploy.sh

标签: gradle travis-ci


【解决方案1】:

我的经验是 Git 似乎不知道您的构建正在使用的分支,并且您想要推送具有额外提交的当前 HEAD。

在 Travis CI 中,当 Git 推送同一个主分支时,您可能会收到一条日志消息,仅显示“所有内容都是最新的”。

您可以更改脚本以添加 HEAD。

#!/bin/bash
rev=$(git rev-parse --short HEAD)
git config user.name "uname"
git config user.password "password"
git add .
git commit -m "committed at ${rev}"
git push origin HEAD:master

这是一个类似的答案,解释:- git-pushing-to-github-origin-master-does-nothing

【讨论】:

    猜你喜欢
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多