Официальный процесс автоматизации с кодовым кодом включает отправку на GitHub .
Если ваш процесс сборки может заполнить контент, который вы хотите опубликовать, то вы можете просто вытолкнуть его из самого задания по кодированию.
В качестве примера см. " Автоматическое развертывание на gh-pages
с Codeship " (Мартын Чемберлин) о публикации сборки Gulp:
git clone <the ssh link to your repo> dist
cd dist
git checkout gh-pages || git checkout --orphan gh-pages
cd ..
rm -rf dist/**/* || exit 0
npm install
gulp deploy
cd dist
git config user.email "<the email address you used for your machine user GitHub account>"
git config user.name "<the username you used for your machine user GitHub account>"
git add .
git commit -m "Deploy to GitHub Pages: ${CI_COMMIT_ID} --skip-ci"
git push origin gh-pages
Это действительно умный маленький набор команд.
Он создает git-репо внутри другого git-репо для правильной обработки сборки.
Хотелось бы сказать, что я был тем, кто придумал эту идею, но наконечник шляпы принадлежит Доменик , который дал мне идею с его сущностью Трэвиса.
Несколько замечаний по этому поводу:
- Предполагается, что
npm install; gulp deploy
- это серия команд, которые вы используете для объединения и минимизации ваших активов.
Это верно для моего проекта, но ваш может отличаться (особенно второй). Обязательно замените строки 6 и 7 вашими фактическими (а также значениями, конечно).
- Это также предполагает, что ваш выходной каталог
dist
. Надеюсь, это так, потому что это соглашение, но если у вас есть что-то еще, вам нужно обновить строки 1, 2 и 8.
- Я полностью игнорирую рекомендацию Codeship по обработке окончательного толчка git с помощью предоставленного им кода («включайте команды из
continuous-deployments/git-push.sh
»).
В любом случае, ничего страшного, я просто не вижу необходимости в дополнительном HTTP-запросе.