git flowのhotfixで実施した作業内容を表示する
git log --oneline | grep hotfix 2e5336b Merge branch 'hotfix/aaaaa' into develop 93c3907 Merge branch 'hotfix/bbbbb' into develop
git show 2e5336b commit 2e5336bde6626a642f5f516da4a776c126a9cbba Merge: 93c3907 d312624 Author: kubo <kubo@companyname.mail> Date: Thu Nov 10 15:22:47 2016 +0900 Merge branch 'hotfix/aaaaaa' into develop
git diff 93c3907 d312624
で、出来るはず、だったけど、なんか違う差分が表示される。
git show d312624
が知りたい log情報だった。
Ansistranoでソースコードをローカルで取得
アプリのデプロイにRubyのCapistranoを使っていて便利だなーと思っていたので、
新しく作ったアプリでは、AnsibleのAnsistranoを使ってみた。
でも、実行すると途中で止まる。
ansible-playbook -i inventory/hosts/production playbook/deploy.yml
gitリポジトリからソースの取得するときに、デプロイ先のサーバーからgit cloneしてるっぽい。
TASK [carlosbuenosvinos.ansistrano-deploy : include] *************************** included: /private/etc/ansible/roles/carlosbuenosvinos.ansistrano-deploy/tasks/update-code/git.yml for xx.xx.xx.xx TASK [carlosbuenosvinos.ansistrano-deploy : ANSISTRANO | GIT | Ensure GIT deployment key is up to date] *** skipping: [xx.xx.xx.xx] TASK [carlosbuenosvinos.ansistrano-deploy : ANSISTRANO | GIT | Update remote repository] ***
デプロイ先のサーバーで、gitのリポジトリを取得できるように設定すれば動くけど、
ローカル環境でリポジトリを取得したかったので、調べてみた。
ansistrano_deploy_via: git
から
ansistrano_deploy_via: copy
にすると、動くようになった、
と思ったけど、これはgit cloneではなくて単なるファイルコピーをするオプションだった。
ansistrano_deploy_from も足すとローカルのファイルをコピーする。
copyで実行したら遅すぎたので、rsyncに変えたら早くなった。
- hosts: all name: "appname1 host server" vars: ansistrano_deploy_from: "{{ playbook_dir }}/../../" ansistrano_deploy_to: /var/www/mmr2 ansistrano_deploy_via: rsync #ansistrano_deploy_via: git ansistrano_git_repo: git@gogs.companyname.test:appname1/appname1.git ansistrano_git_branch: feature/1.1 ansistrano_shared_paths: ["log","config"] ansistrano_after_update_code_tasks_file: "{{ playbook_dir }}/ansistrano/after_update_code.yml" ansistrano_after_symlink_tasks_file: "{{ playbook_dir }}/ansistrano/after_symlink.yml" vars_files: - vars/all/main.yml # - vars/{{ stage }}/main.yml # - vars/{{ stage }}/secret.yml roles: - carlosbuenosvinos.ansistrano-deploy
/etc/default/celeryd が読み込まれなかった
http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html
を見てcelerydの起動スクリプトを作った。
/etc/init.d/
に起動スクリプトを置いて、sudo service appname_celeryd start したら、エラーになった。
sudo service appname_celeryd start celery init v10.1. su: user celery does not exist
/etc/default/celeryd
に置いた設定ファイルは、
/etc/init.d/appname_celeryd
のように起動スクリプトと同じ名前にしないといけないっぽい。
Bash on Windows10 有効化メモ
OSビルドバージョン確認
スタートメニュー > 設定 > システム > バージョン情報
https://msdn.microsoft.com/en-us/commandline/wsl/install_guide
Windows Updateからだと、
Windows 10 Anniversary Update
が適用されなかったので、インストーラーをダウンロードした。
https://support.microsoft.com/ja-jp/help/12387/windows-10-update-history?ocid=update_setting_client
Windows 10 Anniversary Update のインストーラーを実行してアップデート。
開発者モード の有効化
スタートメニュー > 設定 > 更新とセキュリティ > 開発者向け
開発者モード
をチェック。
Windows Subsystem for Linux (Beta)
スタートボタンを右クリック > プログラムと機能 > (左側の)Windowsの機能の有効化または無効化
Windows Subsystem for Linux (Beta)
をチェックしてOKボタン。
http://qiita.com/Aruneko/items/c79810b0b015bebf30bb
※会社で使っているPCは32bit版WindowsだったのでWindows Subsystem for Linux (Beta)が出てこなかった。
コピー&ペースト
Ctrl + V でコピペができない。
Windows 10 build 14316: Ctrl + v doesn't work on Bash on Ubuntu on Windows - Super User
簡易編集モードを有効にすると、
マウスの右クリックで貼り付け(ペースト)はできるっぽい。
nginx + django uwsgi
CentOS6 にdjangoアプリを設置しようとしたら、nginxでエラーになった。
django 1.8
EC2上で Django + Nginx + uWSGI を試す - Qiita
service nginx restart nginx: [emerg] open() "/home/aaaaaaa/app1/uwsgi_params" failed (13: Permission denied) in /etc/nginx/conf.d/app1.conf:25 nginx: configuration file /etc/nginx/nginx.conf test failed
SELinuxが原因だった。
service nginx restart nginx: [emerg] invalid number of arguments in "uwsgi_param" directive in /home/aaaaaaa/app1/uwsgi_params:11 nginx: configuration file /etc/nginx/nginx.conf test failed
http://nginx.org/en/linux_packages.html#stable
nginx の再インストール
nginxを1.10.1にする。
/etc/yum.repos.d/nginx.repo
http://qiita.com/utano320/items/0c0d9b84a9a28525bcb9
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
yum remove nginx yum remove nginx-filesystem Installing: nginx x86_64 1.10.1-1.el6.ngx nginx 821 k
server_names_hash_bucket_size
service nginx start Starting nginx: nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32
/etc/nginx/nginx.conf
server_names_hash_bucket_size 64;
を足した。
http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; server_names_hash_bucket_size 64; #gzip on; include /etc/nginx/conf.d/*.conf; }
連携設定
uwsgi --wsgi-file wsgi.py --socket 127.0.0.1:3031
upstream django { # server unix:///path/to/your/mysite/mysite.sock; # for a file socket #server 127.0.0.1:8001; # for a web port socket (we'll use this first) server 127.0.0.1:3031; }
CentOS6にpipをインストール
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum install python-pip