-
投稿者投稿
-
2018年11月19日 11:30 AM #7080
いつもお世話になっております。
Snow Monkeyの.travis.ymlについてお聞きさせていただきます。
現状、GitHubに上がっている.travis.ymlを拝見すると、before_deploy部分でzipパッケージを作られていると思うのですが、
before_deploy: - npm run zip - ls -la snow-monkey.zip - export RELEASE_FILE=$(ls snow-monkey.zip)
こちらに習って自身開発中のテーマのテストにも、
before_deploy: - npm run zip - ls -la oleinpress-media.zip - export RELEASE_FILE=$(ls oleinpress-media.zip)
と書いて試してみているのですが、
Skipping a deployment with the releases provider because this is not on the required runtime Skipping a deployment with the releases provider because this is not a tagged commit
ログとともにエラーは発生せずテストは終わっているのですが、パッケージファイルは作られないというところではまっておりまして、ご教授いただければと思い投稿させていただきます。
よろしくお願いいたします。
♥ 0いいねをした人: 居ません2018年11月19日 11:35 AM #7081この部分の指定で、「タグ打ちしたとき&PHP7.1 のときのみリリース」ということになります。多分オレインさんはタグ打ちしてなくて master にプッシュして Travis CI が回っているだけなのではないですかね。適当なところで
git tag 1.0.0
とかしてから、git push origin --tags
して Travis CI を回すとリリース処理が動きます。♥ 0いいねをした人: 居ません2018年11月19日 11:41 AM #7082あ、あと、
npm run zip
と書かれていますが、package.json
のなかにzip
というスクリプトが定義されていない気がします。これはzip
というコマンド名の npm script を実行する、という命令になるので、定義する必要があります。この辺、参考になるかなと。
♥ 0いいねをした人: 居ません2018年11月19日 1:03 PM #7083ありがとうございます。
まず、
npm run zip'部分は
package.jsonを拝見して、
script`部分に、"zip:pack": "composer install --no-dev && rsync -a --exclude='.*' resources/ snow-monkey", "zip:archive": "zip -9 -qmr snow-monkey.zip snow-monkey", "zip": "npm run cleanup:zip && npm run zip:pack && npm run zip:archive"
を拝借して、
"zip:pack": "composer install --no-dev && rsync -a --exclude='.*' resources/ oleinpress-media", "zip:archive": "zip -9 -qmr oleinpress-media.zip oleinpress-media", "zip": "npm run cleanup:zip && npm run zip:pack && npm run zip:archive"
こんな感じに書き換えてみました。
これによってエラーが出ることはないんですが、ログを見てみると、
- ls -la style.css index.php vendor/autoload.php
の処理のあとにbefore_deploy
へ進んでないような気がしています。このあとに、
The command "ls -la style.css index.php vendor/autoload.php" exited with 0.
となり、キャッシュを確認して、先ほど書いたようなSkipping a deployment with the releases provider because this is not on the required runtime Skipping a deployment with the releases provider because this is not a tagged commit
となってしまっています。
SourceTreeでGit管理しているんですが、うまくタグ付けできていないんですかね…orz
♥ 0いいねをした人: 居ません2018年11月19日 1:21 PM #7085リポジトリみるとタグ付けできてますが、
Travis CI 側をみると master の履歴しかないです。
.travis.yml の↑の部分で「master のときだけ」としているからなので、ここにタグ付けの場合も発火するように、Snow Monkey の .travis.yml を参考に記述を追加してみてください。
> こんな感じに書き換えてみました。
あと、「 resources/oleinpress-media」の部分ですが、Snow Monkey はテーマのルートが snow-monkey/resources なので resources とつけているので、オレインさんのテーマの場合は resources は消して良いかと思います。
♥ 0いいねをした人: 居ません2018年11月19日 1:23 PM #7086ターミナルで themes/OleinPress-Media を開いて、
npm run zip
すると zip をつくる処理が走るので、どのような zip が生成されるか(または生成が失敗するか)確認できます。※
composer install --no-dev
して vendor の中が配布用になっちゃうので、一度試した後はまたcomposer install
したほうが良いです。♥ 0いいねをした人: 居ません2018年11月19日 2:21 PM #7087色々とこねくり回してみました。
package.jsonにタイポがあったりしてたのをもじもじしていたんですが、今のところ
package.json
のcomposer install --no-dev && rsync -a --exclude='.*' / oleinpress-media
部分の書き方がおかしいのでエラーが出ていると思われるんですが、ちょっと詰んでしまいました…orz
♥ 0いいねをした人: 居ません2018年11月19日 2:50 PM #7088composer install --no-dev && rsync -a --exclude='.*' / oleinpress-media
じゃなくて、
composer install --no-dev && rsync -a --exclude='.*' . oleinpress-media
だとどうですかね?
♥ 0いいねをした人: 居ません2018年11月19日 3:11 PM #7089変えたらパッケージを作る部分はうまくいったみたいです!(素朴な疑問なんですが、このパッケージzipはどこに書き出されるんですか?)
しかし、次は
/home/travis/.rvm/gems/ruby-2.4.1/gems/octokit-4.6.2/lib/octokit/response/raise_error.rb:16:in
on_complete’: GET https://api.github.com/user: 401 – Bad credentials // See: https://developer.github.com/v3 (Octokit::Unauthorized)`
という感じになっているので、GitHubとのトークン関係でうまくいってない感じなんですかねー。ちょっと調べて見ます!
♥ 0いいねをした人: 居ません2018年11月19日 3:14 PM #7090素朴な疑問なんですが、このパッケージzipはどこに書き出されるんですか?
Travis CI の仮想環境の中…?
という感じになっているので、GitHubとのトークン関係でうまくいってない感じなんですかねー。
.travis.yml のデプロイの設定、
travis setup releases
コマンドでつくりましたかね?♥ 0いいねをした人: 居ません2018年11月19日 3:25 PM #7092deploy: provider: releases api_key: secure: mECO9WLPNbN/jusXivHgZz9F0E8/cBphIrzkgRvRwNA9u7fQjP+aH3nArEXc2kJWVgKT7Gh+lZdvyc+p3zUoyo0LifxnYI1MnWnyfwL0Sf3nrunK69yFTbVGGVViufDOUWvlgxmkkqLymfgqJg14GzInStaHtSVn7vgIIWpWTtL7KEah7jDVb7MyZJnSQ9Dhl0aZyKA7Qgvalh4GKX3cfyzlCk6Ru7EHTbnK/GS0TBS1OeQTl/jVwTbH615GwIjlXSMTRhLBKnI+rNoYle3QqXItIttZ5mGx3Pk6QD2A1XNOzi8rR7piN293QrI9euv+XP4DBwsJv818Qi6rYVS5FzGNhcSZMAHUIPSy+z1jJC89khNKB2ryNupPbo6hLitKQKW+uPcuFqpo8vmjMPJTB/qAZSEU9yHRG+mdpM+F5Y1GMDV1cxRSCo/+nbWlg3MXCfiKYvZkXznsDYdxo4+r0rm3koi3vEUmDC41leIBJIPyU+Cg2JCo8M3Gk2MKvWJs4/L+q7jRBfWTMCfm5VNneY/m7yAdI8VVcn8QsUmCbwPKA3iKXYynAsFwl4UG/w4VdjVOLHuw5mlgcbmSppnm/57MBT2OIYvh32jEglFQKLmnCJVgmZOOY26/zDDvCBHVUGndIKPaesRGvMSQYzVIeSzVlr3tv6QPaRxaEP4R3mg= file: "${RELEASE_FILE}" skip_cleanup: true on: tags: true repo: Olein-jp/OleinPress-Media php: 7.1
という感じでそのまま拝借してしまっていますが、そのままトークン書いた方がよさそうですかね…?
♥ 0いいねをした人: 居ません2018年11月19日 3:32 PM #7093この
api_key: secure
の部分って、自分の GitHub アカウントと連携するものなので、他のプロダクトからコピペすると認証エラーになっちゃうんです。travis setup releases
コマンドをうてば、自動的に GitHub と連携してapi_key: secure
も生成してくれるので、一度コマンドうってみたほうが良いかもしれません。.travis.yml の
deploy:〜
の部分を切り取って別ファイルにバックアップしておいて、travis setup releases
をうって deploy 部分を自動生成、自動生成されたapi_key: secure
の部分をバックアップしておいたもののapi_key: secure
と差し替えして、.travis.yml
にまたもってくる、という感じでいけるんじゃないかと思います。♥ 0いいねをした人: 居ません2018年11月19日 3:46 PM #70952018年11月19日 3:58 PM #7102お!いけてますね!
あとは zip の中身が正しいか確認されてみてください!♥ 0いいねをした人: 居ません2018年11月19日 4:12 PM #7109中身を確認してみましたが、ちょっといらないデータがありますね。node_modulesとか入ったままですしね…。
これらはgulpでデプロイタスクか何かを作って実行させて綺麗な中身を作る必要がありそうですね…
♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「.travis.ymlでのzipファイル生成部分について」には新しい返信をつけることはできません。