Комментарии 12
а как обстоят дела с IOS билдом?
Спасибо за развёрнутый комментарий, я согласен с вашими наблюдениями.
Да, вероятно, что серьёзный проект облсужить при помощи Github Actions будет непросто. Но для небольшого опенсорса или пет-проекта — это отличный вариант. Простота интеграции с репозиторием, который и так в 99% случаев будет у вас на Github заставляет простить многое.
Да, вероятно, что серьёзный проект облсужить при помощи Github Actions будет непросто. Но для небольшого опенсорса или пет-проекта — это отличный вариант. Простота интеграции с репозиторием, который и так в 99% случаев будет у вас на Github заставляет простить многое.
Слава богу есть Docker actions, то есть теперь для использования однострочного баша как функции, нужно заводить специальный отдельный контейнер и исполнять ее там. Спасибо, микрософт.
Не уловил, в чем проблема запустить "однострочный баш" в Github Actions? К примеру:
- name: Run cassandra
run: |
docker run --name mycassandra -d -p 9042:9042 -e CASSANDRA_LISTEN_ADDRESS=127.0.0.1 cassandra:3.11
:)
Понятно, что тут докер запускается, но могу ведь что угодно сделать.
Из виртуалок вам только убунту, остальное на контейнерах.
Вот же пишут, или это другое?
Virtual environment YAML workflow label
Windows Server 2019 windows-latest or windows-2019
Ubuntu 20.04 ubuntu-20.04
Ubuntu 18.04 ubuntu-latest or ubuntu-18.04
Ubuntu 16.04 ubuntu-16.04
macOS Catalina 10.15 macos-latest or macos-10.15
а я правильно понимаю, что на каждый билд вы ставите заново jdk и flutter sdk? а пробовали кешировать зависимости?
levelup.gitconnected.com/ci-cd-for-flutter-apps-3a56e3fc6d8e еще одна интересная статья о возможности Github Actions для CI / CD на Flutter-проекте
Упущен момент с тем как из base64 строки сделать обратно *.jks файл чтобы скормить его Gradle.
Просто передать base64 в storeFile через переменные окружения из Secrets у меня не вышло, как описано в статье:
keystoreConfig = [
....
storeFile : "$System.env.STORE_FILE"
]
Gradle по всей видимости ожидает именно путь к файлу keystore. В итоге пришлось записать на диск файл и передать путь к нему (расшифровав из base64 естественно):
- name: Get keystore from GitHub Secrets
run: |
mkdir signing
echo "${{ secrets.STORE_FILE }}" | base64 -d > ./signing/keystore.jks
- run: flutter build apk --release
env:
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
STORE_FILE: "../../signing/keystore.jks"
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте