Ablogのバージョンをアップグレード¶
今まで ablog バージョンを指定して古いバージョンを使い続けていましたが、気が向いたので現行の最新バージョン(0.10.12)に更新しました。
ablog deploy できなくなった¶
記事を書いて github に push すると、Travis CI でビルドされて github.io に自動でデプロイされる、という仕組みで運用しているのですが、 ablog deploy
のところでコケるようになってしまいました。
github と Travis CI は https で連携するようにしていたのですが、どうやら ssh で clone しようとしてエラーになっているようです。
ablog deploy --push-quietly --github-token=DEPLOY_KEY -m="`git log -1 --pretty=%B`"
Cloning into '/home/travis/build/m-yama/myblog/m-yama.github.io'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git clone git@github.com:m-yama/m-yama.github.io.git /home/travis/build/m-yama/myblog/m-yama.github.io
Traceback (most recent call last):
File "/home/travis/virtualenv/python3.7.1/bin/ablog", line 8, in <module>
sys.exit(ablog_main())
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/ablog/commands.py", line 510, in ablog_main
namespace.func(**namespace.__dict__)
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/ablog/commands.py", line 447, in ablog_deploy
echo=True,
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/invoke/__init__.py", line 48, in run
return Context().run(command, **kwargs)
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/invoke/context.py", line 94, in run
return self._run(runner, command, **kwargs)
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/invoke/context.py", line 101, in _run
return runner.run(command, **kwargs)
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/invoke/runners.py", line 363, in run
return self._run_body(command, **kwargs)
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/invoke/runners.py", line 422, in _run_body
return self.make_promise() if self._asynchronous else self._finish()
File "/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/invoke/runners.py", line 489, in _finish
raise UnexpectedExit(result)
invoke.exceptions.UnexpectedExit: Encountered a bad command exit code!
Command: 'git clone git@github.com:m-yama/m-yama.github.io.git /home/travis/build/m-yama/myblog/m-yama.github.io'
Exit code: 128
Stdout: already printed
Stderr: already printed
Done. Your build exited with 0.
解決法(?)¶
結論から言うと、 ablog deploy
コマンドに --github-ssh
オプションを付けると動くようになります。
.travis.yml
after_success:
...
- ablog deploy --push-quietly --github-token=DEPLOY_KEY -m="`git log -1 --pretty=%B`" --github-ssh
しかし、 --github-ssh
オプションを付けると http を使うようになる、というのもおかしい気がします。ネーミングのミスでしょうか?
とりあえず動くようにはなりました。
ablog deploy --push-quietly --github-token=DEPLOY_KEY -m="`git log -1 --pretty=%B`" --github-ssh
Cloning into '/home/travis/build/m-yama/myblog/m-yama.github.io'...
git clone https://github.com/m-yama/m-yama.github.io.git /home/travis/build/m-yama/myblog/m-yama.github.io
Moved 159 files to m-yama.github.io
...
Comments
comments powered by Disqus