{"id":1272,"date":"2021-05-10T01:09:41","date_gmt":"2021-05-09T16:09:41","guid":{"rendered":"https:\/\/ito-u-oti.com\/?p=1272"},"modified":"2021-05-11T15:05:52","modified_gmt":"2021-05-11T06:05:52","slug":"github-actions-elasticbeanstalk-cicd","status":"publish","type":"post","link":"https:\/\/ito-u-oti.com\/?p=1272","title":{"rendered":"github Actions\u3068ElasticBeanstalk\u3067\u81ea\u52d5\u30c7\u30d7\u30ed\u30a4\u74b0\u5883\u3092\u4f5c\u308b"},"content":{"rendered":"\n<p>githubActions\u3092\u4f7f\u3063\u3066\u30c6\u30b9\u30c8\u304c\u6210\u529f\u3059\u308b\u3068AWS\u4e0a\u306eElasticBeanstalk\u306b\u81ea\u52d5\u7684\u306b\u30c7\u30d7\u30ed\u30a4\u3057\u3066\u304f\u308c\u308b\u30bf\u30b9\u30af\u3092\u4f5c\u308a\u307e\u3059\u3002<br>SpringBoot\u3067\u751f\u6210\u3057\u305fjar\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 id=\"outline__1\" class=\"wp-block-heading\">AWS\u4e0a\u3067\u306e\u8a2d\u5b9a<\/h2>\n\n\n\n<h3 id=\"outline__1_1\" class=\"wp-block-heading\">\u30c7\u30d7\u30ed\u30a4\u7528\u306eIAM\u30e6\u30fc\u30b6\u3092\u4f5c\u308b<\/h3>\n\n\n\n<p>IAM\u304b\u3089CICD\u7528\u306e\u30e6\u30fc\u30b6\u3092\u8ffd\u52a0\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br>\u3053\u306e\u6642\u3001\u30a2\u30af\u30bb\u30b9\u306e\u7a2e\u985e\u306f\u300c\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u3088\u308b\u30a2\u30af\u30bb\u30b9\u300d\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"440\" src=\"https:\/\/ito-u-oti.com\/wp-content\/uploads\/2021\/05\/image-13-1024x440.png\" alt=\"\" class=\"wp-image-1273\"\/><\/figure>\n\n\n\n<h3 id=\"outline__1_2\" class=\"wp-block-heading\">ElasticBeansTalk\u3078\u306e\u30c7\u30d7\u30ed\u30a4\u306e\u305f\u3081\u306b\u5fc5\u8981\u306a\u6a29\u9650\u3092\u30a2\u30bf\u30c3\u30c1\u3059\u308b<\/h3>\n\n\n\n<p>\u30a2\u30af\u30bb\u30b9\u6a29\u9650\u306e\u8a2d\u5b9a\u3067\u306f\u3001\u300c\u65e2\u5b58\u306e\u30dd\u30ea\u30b7\u30fc\u3092\u76f4\u63a5\u30a2\u30bf\u30c3\u30c1\u300d\u3092\u9078\u629e\u3057\u3001\u4ee5\u4e0b\u306e\uff12\u3064\u306e\u9805\u76ee\u3092\u30a2\u30bf\u30c3\u30c1\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>AWSElasticBeanstalkWebTier<\/li><li>AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy<\/li><\/ul>\n\n\n\n<h3 id=\"outline__1_3\" class=\"wp-block-heading\">\u78ba\u8a8d\u753b\u9762<\/h3>\n\n\n\n<p>\u30bf\u30b0\u306f\u7279\u306b\u6307\u5b9a\u3057\u3066\u306a\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"524\" src=\"https:\/\/ito-u-oti.com\/wp-content\/uploads\/2021\/05\/image-14-1024x524.png\" alt=\"\" class=\"wp-image-1274\"\/><\/figure>\n\n\n\n<h3 id=\"outline__1_4\" class=\"wp-block-heading\">github\u3067\u306e\u8a2d\u5b9a\u306b\u5fc5\u8981\u306a\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b<\/h3>\n\n\n\n<p>\u30e6\u30fc\u30b6\u306e\u4f5c\u6210\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u753b\u9762\u306b\u79fb\u308a\u307e\u3059\u3002<br>csv\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u4fdd\u5b58\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br><span class=\"has-inline-color has-vivid-red-color\">\u203b\u3053\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u3057\u304bcsv\u30d5\u30a1\u30a4\u30eb\u3084\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30a2\u30af\u30bb\u30b9\u30ad\u30fc\u306f\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3002\u7d1b\u5931\u3057\u305f\u5834\u5408\u306f\u30a2\u30af\u30bb\u30b9\u30ad\u30fc\u3092\u518d\u767a\u884c\u3057\u307e\u3059\u3002<\/span><\/p>\n\n\n\n<h3 id=\"outline__1_5\" class=\"wp-block-heading\">\u30c7\u30d7\u30ed\u30a4\u5bfe\u8c61\u3068\u306a\u308bElasticBeansTalk\u306e\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b<\/h3>\n\n\n\n<p>github Actions\u306e\u8a2d\u5b9a\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u74b0\u5883\u540d<\/li><li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u540d<\/li><\/ul>\n\n\n\n<h2 id=\"outline__2\" class=\"wp-block-heading\">github\u4e0a\u3067\u306e\u8a2d\u5b9a<\/h2>\n\n\n\n<h3 id=\"outline__2_1\" class=\"wp-block-heading\">Secrets\u306b\u30a2\u30af\u30bb\u30b9\u30ad\u30fc\u3068\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc\u3092\u767b\u9332\u3059\u308b<\/h3>\n\n\n\n<p>github\u306eproject -&gt; Settings -&gt; Secrets<br>\u4eca\u56de\u306f<br>CICD_DEVELOP_AWS_ACCESS_KEY_ID\u30fb\u30fb\u30fb\u30a2\u30af\u30bb\u30b9\u30ad\u30fc<br>CICD_DEVELOP_AWS_SECRET_ACCESS_KEY\u30fb\u30fb\u30fb\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u30ad\u30fc<br>\u3067\u767b\u9332\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"126\" src=\"https:\/\/ito-u-oti.com\/wp-content\/uploads\/2021\/05\/image-16-1024x126.png\" alt=\"\" class=\"wp-image-1276\"\/><\/figure>\n\n\n\n<h3 id=\"outline__2_2\" class=\"wp-block-heading\">Actions\u3067workflow\u3092\u4f5c\u6210\u3059\u308b<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: yaml; title: ; notranslate\" title=\"\">\nname: Java CI\n\n# Controls when the action will run. \non:\n  # main\u30d6\u30e9\u30f3\u30c1\u306bpush,marge\u3055\u308c\u305f\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u767a\u706b\u3059\u308b\n  push:\n    branches: &#x5B; main ]\n  # \u624b\u52d5\u3067\u5b9f\u884c\u3059\u308b\n  workflow_dispatch:\n  \njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions\/checkout@v2\n      - name: Set up JDK 1.11\n        uses: actions\/setup-java@v1\n        with:\n          java-version: 1.11\n      # \u30c6\u30b9\u30c8\u5b9f\u884c\n      - name: Build with Gradle\n        run: .\/gradlew clean test -i\n\n      # \u30d3\u30eb\u30c9\n      - name: Build\n        run: .\/gradlew build\n\n      # \u30c7\u30d7\u30ed\u30a4version\u3092\u4e00\u610f\u306b\u3059\u308b\u305f\u3081\u306btimestamp\u3092\u5229\u7528\u3059\u308b\n      - name: Get timestamp\n        uses: gerred\/actions\/current-time@master\n        id: current-time\n\n      # timestamp\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u6574\u5f62\u3059\u308b\n      - name: Run string replace\n        uses: frabert\/replace-string-action@master\n        id: format-time\n        with:\n          pattern: '&amp;#91;:\\.]+'\n          string: &quot;${{ steps.current-time.outputs.time }}&quot;\n          replace-with: &quot;-&quot;\n          flags: &quot;g&quot;\n\n      # ElasticBeansTalk\u3078\u306e\u30c7\u30d7\u30ed\u30a4\n      - name: Deploy to ElasticBeansTalk\n        uses: einaregilsson\/beanstalk-deploy@v16\n        with:\n          # Secrets\u3067\u767b\u9332\u3057\u305f\u30ad\u30fc\u3092\u8a2d\u5b9a\n          aws_access_key: ${{ secrets.CICD_DEVELOP_AWS_ACCESS_KEY_ID }}\n          aws_secret_key: ${{ secrets.CICD_DEVELOP_AWS_SECRET_ACCESS_KEY }}\n          # ElasticBeanstalk\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u540d\n          application_name: your_application_name\n          # ElasticBeanstalk\u306e\u74b0\u5883\u540d\n          environment_name: your_environment_name\n          # timestamp\u4ed8\u304d\u306eversion\u3067\u30c7\u30d7\u30ed\u30a4\u3059\u308b\n          version_label: &quot;batch-ver-${{ steps.format-time.outputs.replaced }}&quot;\n          # ElasticBeanstalk\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\n          region: us-east-2\n          # \u30c7\u30d7\u30ed\u30a4\u8cc7\u6750\n          deployment_package: .\/build\/libs\/backend-base-0.0.1-SNAPSHOT.jar\n<\/pre><\/div>\n\n\n<h2 id=\"outline__3\" class=\"wp-block-heading\">\u30c7\u30d7\u30ed\u30a4\u7d50\u679c<\/h2>\n\n\n\n<p>ElasticBeanstalk\u4e0a\u3067timestamp\u306eversion\u3067\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u305f\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"332\" src=\"https:\/\/ito-u-oti.com\/wp-content\/uploads\/2021\/05\/image-17-1024x332.png\" alt=\"\" class=\"wp-image-1277\"\/><\/figure>\n\n\n\n<h2 id=\"outline__4\" class=\"wp-block-heading\">\u95a2\u9023<\/h2>\n\n\n\n<p><a href=\"https:\/\/ito-u-oti.com\/github-actions-s3-cicd\">github Actions\u3068AWS S3\u3067\u81ea\u52d5\u30c7\u30d7\u30ed\u30a4\u74b0\u5883\u3092\u4f5c\u308b<\/a><\/p>\n\n\n\n<h2 id=\"outline__5\" class=\"wp-block-heading\">\u53c2\u8003<\/h2>\n\n\n\n<p><a href=\"https:\/\/zenn.dev\/tomipetit\/articles\/2e3dba6bef2734\">Laravel + AWS Elastic Beanstalk\u74b0\u5883\u3092Github Actions\u3067\u30c7\u30d7\u30ed\u30a4\u3059\u308b<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/marketplace\/actions\/beanstalk-deploy\">Beanstalk Deploy<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>githubActions\u3092\u4f7f\u3063\u3066\u30c6\u30b9\u30c8\u304c\u6210\u529f\u3059\u308b\u3068AWS\u4e0a\u306eElasticBeanstalk\u306b\u81ea\u52d5 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1182,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[269],"tags":[270,292,291,290],"class_list":["post-1272","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","tag-aws","tag-cicd","tag-elasticbeanstalk","tag-github-actions"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts\/1272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1272"}],"version-history":[{"count":3,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts\/1272\/revisions"}],"predecessor-version":[{"id":1285,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/posts\/1272\/revisions\/1285"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=\/wp\/v2\/media\/1182"}],"wp:attachment":[{"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ito-u-oti.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}