gitlab
æè¿ãGitHubã ãã§ãªãGitLabãå©ç¨ããæ©ä¼ãå¢ãã¦ãã¾ãããããããåãªãã¦ã¼ã¶ã¼ã¨ãã¦ã§ã¯ãªããGitLabã®æ§ç¯ãéç¨ã«é¢ãããã¨ãå¤ããªã£ã¦ãã¾ãããã®ãããæ¹ã㦠ãGitLabå®è·µã¬ã¤ã 第2çã ãèªãã§ã¿ã¾ããã GitLabå®è·µã¬ã¤ã 第2ç (imprâ¦
ä¸ã®ä¸ãã¹ã¯ã¼ããã¢ã¯ã»ã¹ãã¼ã¨ãã£ãSecretãå ¬éãªãã¸ããªã«PUSHãã¦ãã¾ãã¨ãããããªäºæ ãèµ·ãã¾ããGitHubã«ã¯Secret Scanningã¨ããæ©è½ããããPUSHãããå 容ãã¹ãã£ã³ãã¦Secretãæ¤åºã§ãã¾ãã ãã¡ããGitLabã«ãåæ§ã®æ©è½ããããSecreâ¦
ã¢ããã¼ã·ã§ã³ å質管çã®è² è·ãä¸ããã TypeScript/GraphQLã使ã£ã¦ã¿ãã GraphQL+TypeScriptã®çµã¿åãããã¨ã¦ãããã£ã éçºããã¸ã§ã¯ãã§GitLabã使ã£ã¦ããå ´åã Merge Requestã使ã£ã¦éçºãé²ãã¦ãããã¨ãå¤ãã§ãããã ãã®ã¨ãMerge Requâ¦
ãã¹ããæ¸ããã¨è¨ã£ã¦ããç²¾ç¥è«ã§ã¯ãªããªããã®æåã¯è²ã¡ã¾ããã ãããè¡ããã¨ããã¨ãèªåã®è¨è¿°ãããã¹ããã©ã®ããã«ããã¸ã§ã¯ãããã¼ã ã«è²¢ç®ãã¦ããã®ããå¯è¦åããå¿ è¦ãããã¾ãã ä»æ¥ã®ã´ã¼ã«ã¯2ã¤ããã1ã¤ã¯Merge Requestã®ãã¡ã¤ã«â¦
CheckstyleãSpotBugsã®ã¨ã©ã¼ããReviewdogã使ã£ã¦GitLabã®Merge Requestã«ã³ã¡ã³ãã§ããããã«ãã¾ããã ããããããããã¤ã³ãããã£ã¦ãããªãè¦æ¦ãã¾ããããã®ãããããããã«é¢ããå 容ãè¨è¼ãã¦ããã¾ãã Checkstyle Reviewdogèªä½ã¯ãã¤ãâ¦
CIã§å®è¡ããéç解æã®çµæãMerge Requestã®ã³ã¡ã³ãã¨ãã¦æ¸ãè¾¼ã¿ããã¨ãããã¼ãºã¯å¤ãããã¾ãã ããã容æã«å¶ãã¦ããããããã¯ããreviewdogã§ãã åé¡ ãã®reviewdogãGitLab CI/CDã«è¨å®ããã®ã§ããã以ä¸ã®æ§ãªã¨ã©ã¼ãåºã¦å¤±æãã¦ãã¾ãâ¦
åé¡ GitLabã使ã£ã¦Javaã®ããã¸ã§ã¯ãã®CIãåãæãMavenã«ããã¢ã¼ãã£ãã¡ã¯ãã®ãã¦ã³ãã¼ãæéãåé¡ã«ãªãã¾ãã CIã«ããã¦ã¯ãããã¯Mavenã®ãã¼ã«ã«ãªãã¸ããªããã£ãã·ã¥ãããã¨ã«ãã£ã¦è§£æ±ºãããåé¡ã§ãã ã¼ãã¯.gitlab-ci.ymlã«ä»¥ä¸ã®æ§â¦
ä½ãããã«ãããããããã表示ãããã¨ããã®ã¯éè¦ã§ãã Checkstyleã«ã¤ãã¦ãããã®çµæãGitLabãGithubã§ãããããã表示ã§ããã°ããããã¯ç´ããªãã¨ãã¨ãã¼ã å ã§å ±æã§ããã§ãããã GitLabã§Checkstyleã®ã¬ãã¼ãã表示ã§ããããã«ãã å®ç¾â¦
æåã§ãã¡ãã¡pandocãå®è¡ããã®ã¯é¢åã§ãã Merge Requestã®ä½æããã®branchã«å¤æ´ãå ¥ã£ãã¿ã¤ãã³ã°ã§ãMarkdownãã¡ã¤ã«ãdocxãã¡ã¤ã«ã«å¤æãããªãã¸ããªã«ã¢ãããã¼ããããã å®éã«ãããå®è£ ããã¨ã以ä¸ã®ããã«Merge Requestã«ç´ã¥ãå½¢ã§â¦
GitLabã«ã¯Package Registryã¨ããæ©è½ããããæ§ã ãªè¨èªã®ããã±ã¼ã¸ããã¹ãã§ãã¾ãã Maven packages in the Package Repository | GitLab npm packages in the Package Registry | GitLab PyPI packages in the Package Registry | GitLab ä¸æ¹ã§ãè¨â¦
ãã¹ãæåãä½ãããã«ã¯ãèªåã®æ¸ããã³ã¼ãã®ã©ãããã¹ãããã¦ããã®ããæ示ããã®ãæå³ãããã¾ãã人ã¯ãããããã¹ãããã¦ããªãããã¨è¨ããããããã¹ããããã¨èãããã®ã ããã§ããç¥ãããã©ã 誰ããè¦ããå ´æã«ã«ãã¬ãã¸ãªã©ã®æ°å¤ãâ¦
ããã¸ã¡ã³ããè¡ãä¸ã§ã¯ä»¥ä¸ã®ãããªåãçµã¿ãéè¦ã§ãã ä½ããã®å®éææ¨ãåéããç®æ¨ãè¨å®ãã ãã®æ°å¤ã誰ããè¦ãå ´æã«ç½®ã ããã¯ãã¹ãæåãä½ãã¨ãã«ãä¾å¤ã§ã¯ããã¾ããã ããã¹ããæ¸ãããã¨ãããåèããã¨ããã§ãã¼ãã®çµé¨ä¸å¹â¦
ããã¸ã§ã¯ãã§ã¯ãdevelop branchã§éçºãè¡ããæ¬çªãªãªã¼ã¹ãããã¯å ¬éããã¨ãã«master branchã¸åæ ããã¨ããããã¼ãã¨ã£ã¦ãã¾ãã ãã®ã¨ããdevelop branchä¸ã§ä¸è¦ãªãã¡ã¤ã«ãåé¤ããããããã¥ã¡ã³ãä¸ã®ç¹å®ã®åèªãç½®æããä¸ã§masterã«åâ¦
GitLab CI/CD ãã ECR 㸠PUSH ããã¨ãããä½ãã¾ãããã¤ãã¿ããã£ã¦å¤§å¤ã«æéã溶ããã¾ããã alpine ãã¼ã¹ã® Docker Image ã« AWS CLI v2 ãã¤ã³ã¹ãã¼ã«ããã®ãã¤ãã Docker ã®ãã°ãå¼ãã¦ãã¾ã£ã¦ GitLab CI/CD ä¸ã§ã® DinD ããã¾ãåããªãâ¦
ãã¡ãã¨ããã¬ã¤ããæ¸ããããã¦ãã®ã¬ã¤ããå¤äººæ°ã§å¤æ´ããã¨ããã±ã¼ã¹ã§ã¯ãæç« ã®æºãçã㧠ããã ãé²ãããã ãã®ãããGitLab CI/CD 㧠textlint ãå°å ¥ãããã textlint ç¨ Docker Image ã®ä½æ ãã£ã«ã¿ ã«ã¼ã« Docker Image ã® buildãpushâ¦
æ§ã ãªããã¥ã¡ã³ãã Markdown ã§è¡¨ç¾ãããä»æ¥ãã®ããã§ãã å¤æ°ã®äººãé¢ããã¤ã¤ããã¥ã¡ã³ããæé·ãããã®ã§ããã°ã Markdown ããã¥ã¡ã³ãã«ã¤ãã¦ããã©ã¼ããããçµ±ä¸ãããããã®ã§ããã Markdown ã«ã¤ãã¦ãå½ç¶ã®ããã« linter ãããã®ã§ãâ¦
GitLab CI/CD ã使ããèªä½ã® AWS ç¨ terraform ã¢ã¸ã¥ã¼ã«ã«å¯¾ã㦠terraform validate ãããããã¨ããã¨ã以ä¸ã®ã¨ã©ã¼ã¡ãã»ã¼ã¸ãåºã¦å¤±æãã¾ããã Error: Missing required argument The argument "region" is required, but was not set. åå 対â¦
Terraform ã®ã¹ã¯ãªããã«ã lint ãèªåã§å®è¡ã§ããããã«ãã¾ãã lint ãã¼ã« TFlint è¨å®ã®æ¸¡ãæ¹ GitLab CI/CD ã¸ã®çµã¿è¾¼ã¿ ä»å¾ lint ãã¼ã« Terraform ã«ã¯ terraform validate ã³ãã³ãããããè¨å®ä¸ã®ããªãã®åé¡ãæ¤ç¥ãã¦ããã¾ãã ä¸æ¹ã§ tâ¦
GitLab å®è·µã¬ã¤ããèªã¿ã¾ããã GitLabå®è·µã¬ã¤ã impress top gearã·ãªã¼ãºä½è :åå±± æå¾ã¤ã³ãã¬ã¹Amazon å ¨ä½ãéã㦠ãããã¯ãã®é·æ ãªã¼ã«ã¤ã³ã¯ã³ CI/CD SaaS ã§ããªã³ãã¬ã§ã æå¾ã« å ¨ä½ãéã㦠GitLab ã¯ããã¾ã§ä½¿ã£ããã¨ããªããå ¨ä½çâ¦