-
投稿者投稿
-
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ログとともにエラーは発生せずテストは終わっているのですが、パッケージファイルは作られないというところではまっておりまして、ご教授いただければと思い投稿させていただきます。
よろしくお願いいたします。
♥ 0Who liked: No user2018年11月19日 11:35 AM #7081この部分の指定で、「タグ打ちしたとき&PHP7.1 のときのみリリース」ということになります。多分オレインさんはタグ打ちしてなくて master にプッシュして Travis CI が回っているだけなのではないですかね。適当なところで
git tag 1.0.0とかしてから、git push origin --tagsして Travis CI を回すとリリース処理が動きます。♥ 0Who liked: No user2018年11月19日 11:41 AM #7082あ、あと、
npm run zipと書かれていますが、package.jsonのなかにzipというスクリプトが定義されていない気がします。これはzipというコマンド名の npm script を実行する、という命令になるので、定義する必要があります。この辺、参考になるかなと。
♥ 0Who liked: No user2018年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
♥ 0Who liked: No user2018年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 は消して良いかと思います。
♥ 0Who liked: No user2018年11月19日 1:23 PM #7086ターミナルで themes/OleinPress-Media を開いて、
npm run zipすると zip をつくる処理が走るので、どのような zip が生成されるか(または生成が失敗するか)確認できます。※
composer install --no-devして vendor の中が配布用になっちゃうので、一度試した後はまたcomposer installしたほうが良いです。♥ 0Who liked: No user2018年11月19日 2:21 PM #7087色々とこねくり回してみました。
package.jsonにタイポがあったりしてたのをもじもじしていたんですが、今のところ
package.jsonのcomposer install --no-dev && rsync -a --exclude='.*' / oleinpress-media部分の書き方がおかしいのでエラーが出ていると思われるんですが、ちょっと詰んでしまいました…orz
♥ 0Who liked: No user2018年11月19日 2:50 PM #7088composer install --no-dev && rsync -a --exclude='.*' / oleinpress-mediaじゃなくて、
composer install --no-dev && rsync -a --exclude='.*' . oleinpress-mediaだとどうですかね?
♥ 0Who liked: No user2018年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:inon_complete’: GET https://api.github.com/user: 401 – Bad credentials // See: https://developer.github.com/v3 (Octokit::Unauthorized)`
という感じになっているので、GitHubとのトークン関係でうまくいってない感じなんですかねー。ちょっと調べて見ます!
♥ 0Who liked: No user2018年11月19日 3:14 PM #7090素朴な疑問なんですが、このパッケージzipはどこに書き出されるんですか?
Travis CI の仮想環境の中…?
という感じになっているので、GitHubとのトークン関係でうまくいってない感じなんですかねー。
.travis.yml のデプロイの設定、
travis setup releasesコマンドでつくりましたかね?♥ 0Who liked: No user2018年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という感じでそのまま拝借してしまっていますが、そのままトークン書いた方がよさそうですかね…?
♥ 0Who liked: No user2018年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にまたもってくる、という感じでいけるんじゃないかと思います。♥ 0Who liked: No user2018年11月19日 3:46 PM #70952018年11月19日 3:58 PM #7102お!いけてますね!
あとは zip の中身が正しいか確認されてみてください!♥ 0Who liked: No user2018年11月19日 4:12 PM #7109中身を確認してみましたが、ちょっといらないデータがありますね。node_modulesとか入ったままですしね…。
これらはgulpでデプロイタスクか何かを作って実行させて綺麗な中身を作る必要がありそうですね…
♥ 0Who liked: No user -
投稿者投稿
- トピック「.travis.ymlでのzipファイル生成部分について」には新しい返信をつけることはできません。
