{"id":327,"date":"2017-06-28T18:52:21","date_gmt":"2017-06-28T10:52:21","guid":{"rendered":"http:\/\/blog.inforere.com\/?p=327"},"modified":"2017-06-29T18:17:43","modified_gmt":"2017-06-29T10:17:43","slug":"gitlab%e7%a7%81%e6%9c%89%e4%bb%93%e5%82%a8%e7%ae%a1%e7%90%86","status":"publish","type":"post","link":"https:\/\/blog.inforere.com\/?p=327","title":{"rendered":"\u4f7f\u7528gitlab\u79c1\u6709\u4ed3\u50a8\u7ba1\u7406"},"content":{"rendered":"<h3>\u5b89\u88c5\u53c2\u8003<\/h3>\n<ul>\n<li>\u5b89\u88c5 https:\/\/about.gitlab.com\/installation\/#centos<\/li>\n<li>\u914d\u7f6e https:\/\/docs.gitlab.com\/omnibus\/settings\/nginx.html<\/li>\n<\/ul>\n<h3>CI\u81ea\u52a8\u96c6\u6210<\/h3>\n<ul>\n<li><a title=\"Runners\" href=\"https:\/\/docs.gitlab.com\/runner\/install\/\">\u5b89\u88c5Runners<\/a><\/li>\n<li><a title=\"\u914d\u7f6eRunners\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/runners\/README.html#registering-a-specific-runner\">\u914d\u7f6eRunners<\/a><\/li>\n<li><a title=\"\u914d\u7f6e\" href=\"https:\/\/docs.gitlab.com\/ee\/ci\/yaml\/README.html\">CI\u914d\u7f6e\u683c\u5f0f<\/a><\/li>\n<\/ul>\n<h3>\u793a\u4f8b<\/h3>\n<p>\u9879\u76ee\u5408\u5e76\u5230master\u7684tag\u63d0\u4ea4\u6587\u4ef6\u81ea\u52a8\u4e0a\u4f20\u5230\u8fdc\u7a0b\u90e8\u7f72<\/p>\n<pre class=\"\">stages:\r\n    - build\r\n    - test\r\n    - deploy\r\n\r\nbuild-job:\r\n    script:\r\n        - uname -a\r\n    stage: build\r\n    only:\r\n        - tags\r\n\r\nsimple-test:\r\n    script:\r\n        - php -v\r\n    stage: test\r\n    only:\r\n        - tags\r\n\r\ndeploy-all-server:\r\n    stage: deploy\r\n    when: manual # \u7ba1\u7406\u5458\u624b\u52a8\u6267\u884c\r\n    artifacts:\r\n        paths:\r\n            - update\/\r\n    only:\r\n        - tags\r\n    script:\r\n#        - git diff --name-status HEAD^ | awk '$1!=\"D\"{print $2}' &gt; update\/`cat .git\/HEAD`-files.log\r\n        - git diff  --name-status `git tag | tac | awk 'NR==2{print}'` | awk '$1!=\"D\"{print $2}' &gt; update\/`cat .git\/HEAD`-files.log\r\n        - cat update\/`cat .git\/HEAD`-files.log | xargs -ti \/root\/.pyenv\/versions\/py2711\/bin\/ansible-playbook --check \/etc\/ansible\/play_books\/sync_file.yaml -e file={} -vvv<\/pre>\n<pre class=\"lang:default decode:true \">git checkout develop\r\ngit pull\r\n\r\n# \u751f\u6210\u66f4\u65b0\u7684\u6587\u4ef6\u5217\u8868, \u7528\u4e8e\u7ebf\u4e0a\u5907\u4efd\r\ngit diff --name-status 036182eefcda24d2f7^ ef4f1b8c5174525 | awk '{print $2}' &gt; ..\/update-smrz-update1-files.log\r\n\r\n## \u751f\u6210\u6587\u4ef6\u5305\r\ngit archive --format tar -o ..\/update-smrz-update1.tar ef4f1b8c5174525 $(git diff --name-status 036182eefcda24d2f7^ ef4f1b8c5174525 | awk '{print $2}')\r\n\r\n# \u590d\u5236\u6587\u4ef6\u5230\u8fdc\u7a0b\r\ncd ..\r\nscp update-smrz-update1* abak:\/home\/xnjcw_branch\r\n\r\n# \u8fdc\u7a0b\u767b\u5f55\r\nssh SERVER-HOST\r\n\r\n# \u5907\u4efd\u6587\u4ef6\r\ncd PROJECT-DIR\r\ntar -cf ..\/update-smrz-update1-bak.tar `cat ..\/update-smrz-update1-files.log`\r\n\r\n# \u66f4\u65b0\u6587\u4ef6\r\ncd ..\r\ntar -xf update-smrz-update1.tar -C newjc001\/\r\n\r\n# \u4fee\u590d\u66f4\u65b0\u6587\u4ef6\u5c5e\u4e3b\r\ncd newjc001\/\r\ntar -tf ..\/update-smrz-update1.tar | xargs chown ftp.ftp<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b89\u88c5\u53c2\u8003 \u5b89\u88c5 https:\/\/about.gitlab.com\/installation\/#centos \u914d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39,20],"tags":[34,40],"_links":{"self":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts\/327"}],"collection":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=327"}],"version-history":[{"count":4,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions"}],"predecessor-version":[{"id":331,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=\/wp\/v2\/posts\/327\/revisions\/331"}],"wp:attachment":[{"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=327"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=327"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.inforere.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=327"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}