CINXE.COM

gitlab-ciとは 人気・最新記事を集めました - はてな

<!DOCTYPE html><html><head prefix="og: http://ogp.me/ns#"><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><style data-styled="" data-styled-version="5.3.3">.lkjvRt{vertical-align:text-bottom;}/*!sc*/ data-styled.g1[id="sc-bdvvtL"]{content:"lkjvRt,"}/*!sc*/ .hVvGed{text-align:center;font-weight:bold;cursor:pointer;-webkit-text-decoration:none;text-decoration:none;display:inline-block;width:auto;line-height:1.35;border:1px solid transparent;border-radius:.3rem;padding:0.75rem 1.25rem;background:#E5E9EB;color:#3D4245;padding:6px 10px;font-size:12px;}/*!sc*/ .hVvGed:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .hVvGed:focus{outline:none;box-shadow:inset 0 0 0 0.2rem rgba(45,149,222,0.4);}/*!sc*/ .hVvGed:visited{color:#3D4245;}/*!sc*/ .hVvGed:hover{background:#DADFE2;}/*!sc*/ data-styled.g4[id="sc-hKwDye"]{content:"hVvGed,"}/*!sc*/ .igQbsT{margin-bottom:1.25rem;}/*!sc*/ data-styled.g6[id="sc-jRQBWg"]{content:"igQbsT,"}/*!sc*/ .jApmux{margin:auto;width:90vw;}/*!sc*/ @media (min-width:768px){.jApmux{width:720px;}}/*!sc*/ @media (min-width:1000px){.jApmux{width:960px;}}/*!sc*/ data-styled.g7[id="sc-gKclnd"]{content:"jApmux,"}/*!sc*/ .kmLDKr{margin:0.75rem 0 0;}/*!sc*/ @media (min-width:768px){.kmLDKr{margin:0.75rem 0 0;}}/*!sc*/ .kmLDKr a{color:#6B7377;font-size:0.75rem;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .kmLDKr a:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .kmLDKr a svg{margin-right:0.25rem;}/*!sc*/ data-styled.g8[id="sc-iCfMLu"]{content:"kmLDKr,"}/*!sc*/ .fwuOgc{margin:1.25rem 0;text-align:center;}/*!sc*/ @media (min-width:768px){.fwuOgc{margin:0.75rem 0;}}/*!sc*/ .fwuOgc svg{vertical-align:baseline;}/*!sc*/ .fwuOgc span{display:inline-block;margin-left:0.25rem;font-weight:bold;font-size:1.25rem;color:#242527;}/*!sc*/ data-styled.g9[id="sc-furwcr"]{content:"fwuOgc,"}/*!sc*/ .LiGyC{padding-left:5vw;padding-right:5vw;overflow-x:auto;overflow-y:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin-bottom:1.25rem;border-bottom:1px solid #DADFE2;}/*!sc*/ @media (min-width:768px){.LiGyC{padding-left:0;padding-right:0;width:720px;margin-left:auto;margin-right:auto;overflow:visible;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}}/*!sc*/ @media (min-width:1000px){.LiGyC{width:960px;}}/*!sc*/ .LiGyC > *:not(:first-child){margin-left:0.5rem;}/*!sc*/ data-styled.g10[id="sc-pVTFL"]{content:"LiGyC,"}/*!sc*/ .YnERV{display:inline-block;padding:0.75rem;font-size:0.875rem;font-weight:bold;color:#038662;border-bottom:3px solid #009D73;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;}/*!sc*/ .YnERV:hover{color:#242527;color:#038662;}/*!sc*/ .dlNnRT{display:inline-block;padding:0.75rem;font-size:0.875rem;font-weight:normal;color:#6B7377;border-bottom:3px solid none;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;}/*!sc*/ .dlNnRT:hover{color:#242527;color:#242527;}/*!sc*/ data-styled.g11[id="sc-jrQzAO"]{content:"YnERV,dlNnRT,"}/*!sc*/ .cfFZTJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:0.5rem;}/*!sc*/ data-styled.g12[id="sc-kDTinF"]{content:"cfFZTJ,"}/*!sc*/ .jMkJCa{margin-right:0.375rem;}/*!sc*/ data-styled.g13[id="sc-iqseJM"]{content:"jMkJCa,"}/*!sc*/ .dkQbpU{display:inline-block;margin-left:-6px;}/*!sc*/ .dkQbpU:first-child{margin-left:0;}/*!sc*/ .dkQbpU img{width:24px;height:24px;border-radius:50%;border:2px solid #FFF;vertical-align:middle;}/*!sc*/ data-styled.g14[id="sc-crHmcD"]{content:"dkQbpU,"}/*!sc*/ .eLzidY{margin:0;padding:0;list-style:none;line-height:1.4;}/*!sc*/ data-styled.g15[id="sc-egiyK"]{content:"eLzidY,"}/*!sc*/ .hatryS{display:inline-block;margin-right:0.75rem;}/*!sc*/ .hatryS:last-child{margin-right:0;}/*!sc*/ data-styled.g16[id="sc-bqiRlB"]{content:"hatryS,"}/*!sc*/ .fOytDi{color:#6B7377;font-size:0.75rem;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .fOytDi:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g17[id="sc-ksdxgE"]{content:"fOytDi,"}/*!sc*/ .khBKZC{margin-top:2rem;color:#6B7377;font-size:0.75rem;}/*!sc*/ .khBKZC > *{margin-top:0.75rem;}/*!sc*/ data-styled.g18[id="sc-hBUSln"]{content:"khBKZC,"}/*!sc*/ .erCtv{color:#6B7377;font-size:0.75rem;}/*!sc*/ .erCtv ul{margin:0;padding:0;list-style:none;}/*!sc*/ .erCtv ul li{display:inline-block;}/*!sc*/ .erCtv ul li > span{margin:0 0.375rem;}/*!sc*/ .erCtv ul a{color:#6B7377;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .erCtv ul a:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g19[id="sc-fotOHu"]{content:"erCtv,"}/*!sc*/ .bcqfTw{color:#6B7377;font-size:0.75rem;}/*!sc*/ data-styled.g20[id="sc-fFeiMQ"]{content:"bcqfTw,"}/*!sc*/ .fXxvup{max-height:auto;overflow:visible;position:relative;z-index:1;}/*!sc*/ @media (min-width:768px){.fXxvup{max-height:auto;}}/*!sc*/ .fXxvup:after{display:none;content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient( 0deg, #FFF, hsla(0,0%,100%,0) 3rem );}/*!sc*/ data-styled.g25[id="sc-dlVxhl"]{content:"fXxvup,"}/*!sc*/ .hVrOKL:not(:first-child){margin-top:2rem;}/*!sc*/ .hVrOKL:nth-child(n + 3){display:block;}/*!sc*/ data-styled.g26[id="sc-kfPuZi"]{content:"hVrOKL,"}/*!sc*/ .bDsMXk{border-bottom:3px solid #DADFE2;}/*!sc*/ data-styled.g27[id="sc-fKVqWL"]{content:"bDsMXk,"}/*!sc*/ .fbwRLI{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}/*!sc*/ .fbwRLI h1{line-height:1.4;font-size:1.125rem;margin:0 0.375rem 0 0;word-break:break-all;color:#242527;}/*!sc*/ @media (min-width:768px){.fbwRLI h1{font-size:1.5rem;}}/*!sc*/ data-styled.g28[id="sc-bBHxTw"]{content:"fbwRLI,"}/*!sc*/ .iUlhMW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:0.75rem;border-top:2px solid #DADFE2;}/*!sc*/ .iUlhMW details{font-size:0.875rem;color:#6B7377;}/*!sc*/ .iUlhMW summary{margin-bottom:0.375rem;cursor:pointer;}/*!sc*/ .iUlhMW summary::-webkit-details-marker{display:none;}/*!sc*/ .iUlhMW summary:focus{outline:none;}/*!sc*/ .iUlhMW summary span{display:inline-block;margin-left:0.25rem;}/*!sc*/ data-styled.g32[id="sc-iJKOTD"]{content:"iUlhMW,"}/*!sc*/ .cNZxev{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:2rem 0 1.25rem;padding-bottom:0.375rem;border-bottom:3px solid #DADFE2;}/*!sc*/ data-styled.g42[id="sc-cidDSM"]{content:"cNZxev,"}/*!sc*/ .iPveZk{margin:0;font-size:1.125rem;color:#242527;}/*!sc*/ .iPveZk a{margin-left:0.375rem;color:#6B7377;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .iPveZk a:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .iPveZk a svg{vertical-align:middle;}/*!sc*/ data-styled.g43[id="sc-jcFjpl"]{content:"iPveZk,"}/*!sc*/ .hRgjVf{font-size:0.875rem;-webkit-text-decoration:none;text-decoration:none;color:#3D4245;}/*!sc*/ .hRgjVf:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .hRgjVf span{display:inline-block;margin-left:0.5rem;}/*!sc*/ data-styled.g44[id="sc-caiLqq"]{content:"hRgjVf,"}/*!sc*/ .dIowcK{overflow:scroll;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin-left:calc(-5vw);margin-right:calc(-5vw);padding-left:calc(5vw);padding-right:calc(5vw);}/*!sc*/ .dIowcK::after{content:" ";padding-right:calc(5vw);}/*!sc*/ @media (min-width:768px){.dIowcK{overflow:visible;margin:0;padding:0;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}.dIowcK::after{content:none;padding-right:0;}}/*!sc*/ data-styled.g45[id="sc-iUKqMP"]{content:"dIowcK,"}/*!sc*/ .iFOrlO{width:65%;min-width:65%;margin:0 0 0.75rem 0.75rem;border:1px solid #DADFE2;border-radius:.3rem;}/*!sc*/ .iFOrlO:first-child{margin-left:0;}/*!sc*/ @media (min-width:768px){.iFOrlO{width:32%;min-width:32%;margin:0 0 0.75rem 0;}.iFOrlO:first-child{margin-left:0;}}/*!sc*/ data-styled.g46[id="sc-iAKWXU"]{content:"iFOrlO,"}/*!sc*/ .eKDsnJ{display:block;padding:0.5rem 0.5rem 0.375rem;-webkit-text-decoration:none;text-decoration:none;color:#038662;font-size:0.6rem;line-height:1.2;}/*!sc*/ .eKDsnJ strong{margin-right:0.25rem;font-size:1rem;font-weight:normal;}/*!sc*/ data-styled.g48[id="sc-cTAqQK"]{content:"eKDsnJ,"}/*!sc*/ .cGnNsn{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;height:60px;margin:0 0.5rem 0.75rem;color:#242527;font-weight:bold;font-size:0.875rem;-webkit-text-decoration:none;text-decoration:none;line-height:1.4;}/*!sc*/ .cGnNsn:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g49[id="sc-jObWnj"]{content:"cGnNsn,"}/*!sc*/ .dcDqJM{position:relative;display:block;width:100%;height:100px;margin:0 auto;}/*!sc*/ .dcDqJM img{position:absolute;top:0px;left:0px;object-fit:cover;display:block;width:100%;height:100%;}/*!sc*/ data-styled.g50[id="sc-dPiLbb"]{content:"dcDqJM,"}/*!sc*/ .exscr{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;margin:0.5rem;-webkit-text-decoration:none;text-decoration:none;color:#6B7377;font-size:0.75rem;}/*!sc*/ .exscr:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g52[id="sc-cNKqjZ"]{content:"exscr,"}/*!sc*/ .ckjIGV img{width:16px;height:16px;margin-right:0.375rem;vertical-align:middle;}/*!sc*/ data-styled.g53[id="sc-AjmGg"]{content:"ckjIGV,"}/*!sc*/ .lltUDN{display:inline-block;margin-right:0.75rem;font-size:0.875rem;}/*!sc*/ .lltUDN:last-child{margin-right:0;}/*!sc*/ .lltUDN a{color:#3D4245;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .lltUDN a:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g54[id="sc-khQegj"]{content:"lltUDN,"}/*!sc*/ .eTGxBZ{position:relative;border-radius:.3rem;border:1px solid #DADFE2;margin-top:1.25rem;}/*!sc*/ @media (min-width:768px){.eTGxBZ{margin-top:2rem;padding-left:40px;}}/*!sc*/ data-styled.g55[id="sc-hUpaCq"]{content:"eTGxBZ,"}/*!sc*/ @media (min-width:768px){.chuemY{position:absolute;top:16px;left:16px;}}/*!sc*/ .chuemY img{width:24px;height:24px;border-radius:50%;vertical-align:middle;}/*!sc*/ @media (min-width:768px){.chuemY img{width:32px;height:32px;}}/*!sc*/ data-styled.g56[id="sc-jgrJph"]{content:"chuemY,"}/*!sc*/ .gtijWP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:16px 1.25rem 0.5rem;font-size:0.75rem;line-height:1.4;color:#6B7377;}/*!sc*/ data-styled.g57[id="sc-gSQFLo"]{content:"gtijWP,"}/*!sc*/ .jiSLiQ{margin-left:0.5rem;}/*!sc*/ @media (min-width:768px){.jiSLiQ{margin-left:0;}}/*!sc*/ data-styled.g58[id="sc-lbhJGD"]{content:"jiSLiQ,"}/*!sc*/ .dCOBQS{vertical-align:middle;padding-right:0.25rem;color:#242527;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .dCOBQS:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g59[id="sc-iNGGcK"]{content:"dCOBQS,"}/*!sc*/ .cHHEBX{padding-left:0.25rem;vertical-align:middle;color:#6B7377;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .cHHEBX:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g60[id="sc-jeraig"]{content:"cHHEBX,"}/*!sc*/ .iGwSLi{-webkit-text-decoration:none;text-decoration:none;color:#3D4245;}/*!sc*/ .iGwSLi:hover h3{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ data-styled.g61[id="sc-eJwWfJ"]{content:"iGwSLi,"}/*!sc*/ .eKvbKi{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;padding:0 1.25rem;color:#242527;line-height:1.4;margin:0 0 1.25rem;font-size:1rem;}/*!sc*/ @media (min-width:768px){.eKvbKi{-webkit-line-clamp:3;font-size:1.125rem;}}/*!sc*/ data-styled.g62[id="sc-nVkyK"]{content:"eKvbKi,"}/*!sc*/ .cSVtPS{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent);padding-bottom:0.75rem;}/*!sc*/ .cSVtPS p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;margin:0 1.25rem;font-size:0.875rem;line-height:1.75;}/*!sc*/ data-styled.g63[id="sc-hiwPVj"]{content:"cSVtPS,"}/*!sc*/ .fvupeU{position:relative;width:100%;margin:0 auto 1.25rem;}/*!sc*/ @media (min-width:768px){.fvupeU{width:auto;margin:0 1.25rem 1.25rem;}}/*!sc*/ .fvupeU img{display:block;max-width:100%;max-height:400px;margin:auto;}/*!sc*/ @media (min-width:768px){.fvupeU img{max-height:480px;}}/*!sc*/ data-styled.g64[id="sc-ehCJOs"]{content:"fvupeU,"}/*!sc*/ .bdhVtG{margin:0 1.25rem 1.25rem;}/*!sc*/ data-styled.g65[id="sc-lcepkR"]{content:"bdhVtG,"}/*!sc*/ .koQkfJ a{display:block;}/*!sc*/ .koQkfJ a img{width:200px;height:55px;display:block;}/*!sc*/ @media (min-width:768px){.koQkfJ a img{width:230px;height:63px;}}/*!sc*/ data-styled.g67[id="sc-gGCDDS"]{content:"koQkfJ,"}/*!sc*/ .cQSyCH{background:#FFF;border-bottom:1px solid #DADFE2;}/*!sc*/ data-styled.g68[id="sc-clIzBv"]{content:"cQSyCH,"}/*!sc*/ .euEQxt{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:auto;height:56px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media (min-width:768px){.euEQxt{width:720px;}}/*!sc*/ @media (min-width:1000px){.euEQxt{width:960px;}}/*!sc*/ data-styled.g69[id="sc-faUpoM"]{content:"euEQxt,"}/*!sc*/ html{line-height:1.15;-webkit-text-size-adjust:100%;}/*!sc*/ body{margin:0;}/*!sc*/ main{display:block;}/*!sc*/ h1{font-size:2em;margin:0.67em 0;}/*!sc*/ hr{box-sizing:content-box;height:0;overflow:visible;}/*!sc*/ pre{font-family:monospace,monospace;font-size:1em;}/*!sc*/ a{background-color:transparent;}/*!sc*/ abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}/*!sc*/ b,strong{font-weight:bolder;}/*!sc*/ code,kbd,samp{font-family:monospace,monospace;font-size:1em;}/*!sc*/ small{font-size:80%;}/*!sc*/ sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}/*!sc*/ sub{bottom:-0.25em;}/*!sc*/ sup{top:-0.5em;}/*!sc*/ img{border-style:none;}/*!sc*/ button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}/*!sc*/ button,input{overflow:visible;}/*!sc*/ button,select{text-transform:none;}/*!sc*/ button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}/*!sc*/ button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}/*!sc*/ button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}/*!sc*/ fieldset{padding:0.35em 0.75em 0.625em;}/*!sc*/ legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}/*!sc*/ progress{vertical-align:baseline;}/*!sc*/ textarea{overflow:auto;}/*!sc*/ [type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}/*!sc*/ [type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}/*!sc*/ [type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}/*!sc*/ [type="search"]::-webkit-search-decoration{-webkit-appearance:none;}/*!sc*/ ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}/*!sc*/ details{display:block;}/*!sc*/ summary{display:list-item;}/*!sc*/ template{display:none;}/*!sc*/ [hidden]{display:none;}/*!sc*/ html{-webkit-scroll-behavior:smooth;-moz-scroll-behavior:smooth;-ms-scroll-behavior:smooth;scroll-behavior:smooth;}/*!sc*/ body{font-family:-apple-system,BlinkMacSystemFont,'Avenir Next','Segoe UI',Arial,sans-serif;background:#FFF;color:#3D4245;line-height:1.6;word-wrap:break-word;}/*!sc*/ a{color:#0E6ACE;}/*!sc*/ *,*::before,*::after{box-sizing:border-box;}/*!sc*/ [hidden]{display:none !important;}/*!sc*/ data-styled.g81[id="sc-global-hlvyRX1"]{content:"sc-global-hlvyRX1,"}/*!sc*/ .fSZqjM{margin-bottom:calc(2rem + 50px);}/*!sc*/ @media (min-width:576px){.fSZqjM{margin-bottom:calc(2rem + 90px);}}/*!sc*/ data-styled.g82[id="sc-hOGkXu"]{content:"fSZqjM,"}/*!sc*/ .bmPyql{margin:0 auto 3.25rem;}/*!sc*/ data-styled.g83[id="sc-dtMgUX"]{content:"bmPyql,"}/*!sc*/ .fWpXUO{margin-top:2rem;padding-bottom:0.375rem;border-bottom:3px solid #DADFE2;}/*!sc*/ .fWpXUO h2{margin:0;font-size:1.125rem;color:#242527;}/*!sc*/ data-styled.g84[id="sc-cZMNgc"]{content:"fWpXUO,"}/*!sc*/ .gKiXsd{margin:auto;width:90vw;}/*!sc*/ @media (min-width:768px){.gKiXsd{width:720px;}}/*!sc*/ @media (min-width:1000px){.gKiXsd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:960px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}}/*!sc*/ data-styled.g86[id="sc-jQrDum"]{content:"gKiXsd,"}/*!sc*/ @media (min-width:1000px){.jDQHrM{width:calc(960px - 300px - 2rem);}}/*!sc*/ data-styled.g87[id="sc-fvxzrP"]{content:"jDQHrM,"}/*!sc*/ @media (min-width:1000px){.jDxbCk{width:300px;}}/*!sc*/ data-styled.g88[id="sc-fbyfCU"]{content:"jDxbCk,"}/*!sc*/ </style><link rel="icon" sizes="16x16 32x32 48x48 64x64" href="https://live.blog-tags.st-hatena.com//_next/static/images/favicon-8c3808340882afcb341562e33da12325.ico"/><link rel="apple-touch-icon" type="image/png" href="https://live.blog-tags.st-hatena.com//_next/static/images/favicon-180-d5514c44500bfeca92f576e984aacd8a.png"/><link rel="icon" type="image/png" href="https://live.blog-tags.st-hatena.com//_next/static/images/favicon-192-05f2ab3910776ea8e1aea414fc5257e4.png"/><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"/><meta charSet="utf-8"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-46136157-1"></script><script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-46136157-1'); </script><script src="https://cdn.pool.st-hatena.com/valve/valve.js" async=""></script><title>gitlab-ciとは 人気・最新記事を集めました - はてな</title><meta property="og:title" content="gitlab-ciとは 人気・最新記事を集めました - はてな"/><meta property="og:type" content="article"/><meta property="og:site_name" content="はてなブログ タグ"/><meta name="twitter:card" content="summary_large_image"/><meta property="og:image" content="https://live.blog-tags.st-hatena.com//_next/static/images/ogImageDefault-0b14dbf84ffadcafc73ec8b1d951813c.png"/><meta property="og:url" content="https://d.hatena.ne.jp/keyword/gitlab-ci"/><link rel="canonical" href="https://d.hatena.ne.jp/keyword/gitlab-ci"/><meta property="og:description" content="「gitlab-ci」とは - "/><meta name="next-head-count" content="13"/><link rel="preload" href="https://live.blog-tags.st-hatena.com/_next/static/JhKcskYYCoyBD75ZWAHgs/pages/keyword/_permalink_reborn.js" as="script"/><link rel="preload" href="https://live.blog-tags.st-hatena.com/_next/static/JhKcskYYCoyBD75ZWAHgs/pages/_app.js" as="script"/><link rel="preload" href="https://live.blog-tags.st-hatena.com/_next/static/runtime/webpack-035ac2b14bde147cb4a8.js" as="script"/><link rel="preload" href="https://live.blog-tags.st-hatena.com/_next/static/chunks/commons.d78459f0c3cff869b62b.js" as="script"/><link rel="preload" href="https://live.blog-tags.st-hatena.com/_next/static/runtime/main-389f2d5a5a59288bda75.js" as="script"/></head><body class="page-index"><div id="__next"><div class="sc-hOGkXu fSZqjM"><header class="sc-clIzBv cQSyCH"><div class="sc-faUpoM euEQxt"><div class="sc-gGCDDS koQkfJ"><a href="https://d.hatena.ne.jp/keyword/"><img src="https://live.blog-tags.st-hatena.com//_next/static/images/serviceLogo-69b3b2c074e155b6211649fba846eb8d.svg" alt="Hatena Blog Tags"/></a></div></div></header><div></div><div class="sc-jRQBWg igQbsT"><div class="sc-gKclnd jApmux"><div class="sc-iCfMLu kmLDKr"><a href="https://hatenablog.com/"><svg width="14" height="14" viewBox="0 0 24 24" class="sc-bdvvtL lkjvRt"><path fill="#6B7377" d="M16.2,0,19,2.8,9.7,12,19,21.2,16.2,24,4,12Z"></path></svg>はてなブログ トップ</a></div><div class="sc-furwcr fwuOgc"><svg width="18" height="18" viewBox="0 0 24 24" class="sc-bdvvtL lkjvRt"><path fill="#6B7377" d="M22.4,15.1H17.6l1.2-6.2h3.6A1.6,1.6,0,0,0,24,7.4a1.6,1.6,0,0,0-1.6-1.6H19.5l.8-3.9A1.7,1.7,0,0,0,19,0a1.6,1.6,0,0,0-1.8,1.3l-.9,4.5H10.2L11,1.9A1.6,1.6,0,0,0,9.8,0,1.7,1.7,0,0,0,7.9,1.3L7,5.8H1.6A1.6,1.6,0,0,0,0,7.4,1.6,1.6,0,0,0,1.6,8.9H6.4L5.2,15.1H1.6A1.6,1.6,0,0,0,0,16.6a1.6,1.6,0,0,0,1.6,1.6H4.5l-.8,3.9A1.7,1.7,0,0,0,5,24h.3a1.5,1.5,0,0,0,1.5-1.3l.9-4.5h6.1L13,22.1A1.6,1.6,0,0,0,14.2,24h.4a1.6,1.6,0,0,0,1.5-1.3l.9-4.5h5.4A1.6,1.6,0,0,0,24,16.6,1.6,1.6,0,0,0,22.4,15.1Zm-14.1,0L9.6,8.9h6.1l-1.3,6.2Z"></path></svg><span>gitlab-ci</span></div><div class="sc-kDTinF cfFZTJ"><div class="sc-iqseJM jMkJCa"><span class="sc-crHmcD dkQbpU"><img src="https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162" alt=""/></span><span class="sc-crHmcD dkQbpU"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></span><span class="sc-crHmcD dkQbpU"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></span><span class="sc-crHmcD dkQbpU"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></span></div><a href="https://blog.hatena.ne.jp/my/edit?fill_tag=gitlab-ci" class="sc-hKwDye sc-eCImPb hVvGed">このタグでブログを書く</a></div></div><div class="sc-pVTFL LiGyC"><div><a href="#tag-body" selected="" class="sc-jrQzAO YnERV">言葉の解説</a></div><div><a href="#hot-topics" class="sc-jrQzAO dlNnRT">ネットで話題</a></div><div><a href="#related-blog" class="sc-jrQzAO dlNnRT">関連ブログ</a></div></div></div><div class="sc-jQrDum gKiXsd"><div class="sc-fvxzrP jDQHrM"><div class="sc-dtMgUX bmPyql"><div id="tag-body"><div class="sc-dlVxhl fXxvup"><div class="sc-kfPuZi hVrOKL"><header class="sc-fKVqWL bDsMXk"><div class="sc-bBHxTw fbwRLI"><h1>gitlab-ci</h1></div></header></div></div><div class="sc-iJKOTD iUlhMW"><details><summary><svg width="16" height="16" viewBox="0 0 24 24" class="sc-bdvvtL lkjvRt"><path fill="#6B7377" d="M13.2,7a1.2,1.2,0,0,1-2.4,0,1.2,1.2,0,1,1,2.4,0ZM24,12A12,12,0,1,1,12,0,12,12,0,0,1,24,12Zm-2,0A10,10,0,1,0,12,22,10,10,0,0,0,22,12ZM9,10v2h2v6h2V10Z"></path></svg><span>このタグの解説について</span></summary>この解説文は、<a href="https://staff.hatenablog.com/entry/2019/06/20/153000">すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集</a>した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、<a href="https://www.hatena.ne.jp/faq/q/blog#contact">お問い合わせフォーム</a>よりご連絡ください。</details></div></div></div><div></div><div class="sc-cZMNgc fWpXUO"><h2 id="related-blog">関連ブログ</h2></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://creators.bengo4.com/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://creators.bengo4.com/" class="sc-iNGGcK dCOBQS">弁護士ドットコム株式会社 Creators’ blog</a>•<a href="https://creators.bengo4.com/entry/2023/11/28/083000" class="sc-jeraig cHHEBX">1年前</a></div></div><a href="https://creators.bengo4.com/entry/2023/11/28/083000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">合計 3600 行の .gitlab-ci.yml から 70 %重複コードを削減しつつ、必須のテストを必ず実装できるようにした</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/8e1bd9275995ef5a6ecf461937aa123b5162e523/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F6803048a659eebb3a4595ed71fc0cb05033b310e%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbengo4%252F20231128%252F20231128083016.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサインの本体アプリケーション(以下本体)のソースコードは GitLab で管理しており、 関連サービス、バッチなども 1 つのリポジトリで管理するモノレポ構成を取っています。 2022 年 9 月当時、バッチのソースコードだけで 43 個も管理していました。 バッチはいずれも GitLab CI で自動テストを実装しており、その CI コード行数はすべて合わせると 3…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/ci">#<!-- -->ci</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span></div></div><div id="hot-topics"><div><div class="sc-cidDSM cNZxev"><h2 class="sc-jcFjpl iPveZk">ネットで話題<a href="https://help.hatenablog.com/entry/hatenabookmark" aria-label="はてなブックマークとは"><svg width="16" height="16" viewBox="0 0 24 24" class="sc-bdvvtL lkjvRt"><path fill="#6B7377" d="M12,2A10,10,0,1,1,2,12,10,10,0,0,1,12,2Zm0-2A12,12,0,1,0,24,12,12,12,0,0,0,12,0Zm1.2,17A1.2,1.2,0,1,1,12,15.8,1.2,1.2,0,0,1,13.2,17ZM14.6,7a3.6,3.6,0,0,0-2.5-1C9.9,6,8.5,7.6,8.5,10h2c0-1.5.8-2,1.6-2a1.2,1.2,0,0,1,1.3,1.2c.1.9-.4,1.3-.9,1.8A3.6,3.6,0,0,0,11,14.5h2a2.8,2.8,0,0,1,1-2.2,4.5,4.5,0,0,0,1.5-3A3.2,3.2,0,0,0,14.6,7Z"></path></svg></a></h2><a href="https://b.hatena.ne.jp/search/title?sort=popular&amp;q=gitlab-ci" class="sc-caiLqq hRgjVf"><svg width="16" height="16" viewBox="0 0 24 24" class="sc-bdvvtL lkjvRt"><path fill="#6B7377" d="M21,13V23H0V4H12V6H2V21H19V13ZM24,1H13l4,4-6.9,7.1,2.8,2.8,7-7.1L24,12Z"></path></svg><span>もっと見る</span></a></div></div><div class="sc-iUKqMP dIowcK"><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/speakerdeck.com/morizyun/gitlab-ci-x-docker-falsesusume" class="sc-cTAqQK eKDsnJ"><strong>219</strong>ブックマーク</a><a href="https://speakerdeck.com/morizyun/gitlab-ci-x-docker-falsesusume" class="sc-jObWnj cGnNsn">GitLab CI x Docker のススメ</a><a href="https://speakerdeck.com/morizyun/gitlab-ci-x-docker-falsesusume" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/6bf473b4699dc85fa13ecce94ab016815126b053/height=200;version=1;width=200/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4ea0bf9837d14339ada85faabcf47f1f%2Fslide_0.jpg%3F7109207" alt=""/></a><a href="https://b.hatena.ne.jp/site/speakerdeck.com/morizyun" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fspeakerdeck.com%2Fmorizyun%2Fgitlab-ci-x-docker-falsesusume" width="16px" height="16px" alt=""/>speakerdeck.com</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/qiita.com/ko-he-8/items/faabe278fe6199aaaf01" class="sc-cTAqQK eKDsnJ"><strong>109</strong>ブックマーク</a><a href="https://qiita.com/ko-he-8/items/faabe278fe6199aaaf01" class="sc-jObWnj cGnNsn">Gitlab CIでDockerベースのサービス開発のCI環境を作る - Qiita</a><a href="https://qiita.com/ko-he-8/items/faabe278fe6199aaaf01" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/147ab820116243326fe4c941541fde1595e25c1c/height=200;version=1;width=200/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0bGFiJTIwQ0klRTMlODElQTdEb2NrZXIlRTMlODMlOTklRTMlODMlQkMlRTMlODIlQjklRTMlODElQUUlRTMlODIlQjUlRTMlODMlQkMlRTMlODMlOTMlRTMlODIlQjklRTklOTYlOEIlRTclOTklQkElRTMlODElQUVDSSVFNyU5MiVCMCVFNSVBMiU4MyVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MDM1OWE4NjJiOGY4MTZjYzU5OTAwOTM2Yjc0MGUwZTM%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBrby1oZS04JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kYWU5YjM0NmEzYWM1YmE0MzhmN2RhM2EyY2Q5MjA0Yg%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D50d9e6094fb7daf716117963a35f04c1" alt=""/></a><a href="https://b.hatena.ne.jp/site/qiita.com/ko-he-8" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fqiita.com%2Fko-he-8%2Fitems%2Ffaabe278fe6199aaaf01" width="16px" height="16px" alt=""/>qiita.com</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/tech.drecom.co.jp/easy-ci-development-using-gitlab-ci/" class="sc-cTAqQK eKDsnJ"><strong>72</strong>ブックマーク</a><a href="https://tech.drecom.co.jp/easy-ci-development-using-gitlab-ci/" class="sc-jObWnj cGnNsn">GitLab CIでRailsアプリをお手軽CI開発する - Tech Inside Drecom</a><a href="https://tech.drecom.co.jp/easy-ci-development-using-gitlab-ci/" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/d4543a19f8c39955ef14e22685c5e64e832f4bd8/height=200;version=1;width=200/https%3A%2F%2Ftech.drecom.co.jp%2Fwp-content%2Fuploads%2F2016%2F06%2Fgitlabci.png" alt=""/></a><a href="https://b.hatena.ne.jp/site/tech.drecom.co.jp/" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Ftech.drecom.co.jp%2Feasy-ci-development-using-gitlab-ci%2F" width="16px" height="16px" alt=""/>tech.drecom.co.jp</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/inside.pixiv.blog/2020/03/31/181448" class="sc-cTAqQK eKDsnJ"><strong>60</strong>ブックマーク</a><a href="https://inside.pixiv.blog/2020/03/31/181448" class="sc-jObWnj cGnNsn">GitLab CIとPuppeteerを使ってはてなブログのデザインを継続的にデプロイする - pixiv inside - pixiv inside</a><a href="https://inside.pixiv.blog/2020/03/31/181448" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/134227202cc5324ae571520af21b5ec9a0b20c8f/height=200;version=1;width=200/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fp%2Fpxv%2F20200331%2F20200331180811.png" alt=""/></a><a href="https://b.hatena.ne.jp/site/inside.pixiv.blog/" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Finside.pixiv.blog%2F2020%2F03%2F31%2F181448" width="16px" height="16px" alt=""/>inside.pixiv.blog</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/chezou.hatenablog.com/entry/2017/01/23/123835" class="sc-cTAqQK eKDsnJ"><strong>48</strong>ブックマーク</a><a href="https://chezou.hatenablog.com/entry/2017/01/23/123835" class="sc-jObWnj cGnNsn">Gitlab CIを使ってSphinxのドキュメントを自動でPDFにビルドする - once upon a time,</a><a href="https://chezou.hatenablog.com/entry/2017/01/23/123835" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/3f3a80009fe312ac9afc69979234e106574aba2d/height=200;version=1;width=200/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fchezou%2F20170123%2F20170123123725.png" alt=""/></a><a href="https://b.hatena.ne.jp/site/chezou.hatenablog.com/" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fchezou.hatenablog.com%2Fentry%2F2017%2F01%2F23%2F123835" width="16px" height="16px" alt=""/>chezou.hatenablog.com</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/codeout.hatenablog.com/entry/2015/08/21/012706" class="sc-cTAqQK eKDsnJ"><strong>45</strong>ブックマーク</a><a href="https://codeout.hatenablog.com/entry/2015/08/21/012706" class="sc-jObWnj cGnNsn">Gitlab + Gitlab CI をためす - LGTM</a><a href="https://codeout.hatenablog.com/entry/2015/08/21/012706" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/15b6ab516aa2aab4c6733d46f47be4d0fb963839/height=200;version=1;width=200/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F146d96bbd88615924d41951e70db4d14f46a3d93%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttp%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fc%252Fcodeout%252F20150821%252F20150821002701.png" alt=""/></a><a href="https://b.hatena.ne.jp/site/codeout.hatenablog.com/" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fcodeout.hatenablog.com%2Fentry%2F2015%2F08%2F21%2F012706" width="16px" height="16px" alt=""/>codeout.hatenablog.com</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/dev.classmethod.jp/articles/install-gitlab-ci/" class="sc-cTAqQK eKDsnJ"><strong>42</strong>ブックマーク</a><a href="https://dev.classmethod.jp/articles/install-gitlab-ci/" class="sc-jObWnj cGnNsn">継続的インテグレーションツール「GitLab CI」を Amazon Linux にインストールしてみた | DevelopersIO</a><a href="https://dev.classmethod.jp/articles/install-gitlab-ci/" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/28362c6fb5aa96705baab8070425ca41113e8d30/height=200;version=1;width=200/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2013%2F03%2Fcatch.png" alt=""/></a><a href="https://b.hatena.ne.jp/site/dev.classmethod.jp/" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Finstall-gitlab-ci%2F" width="16px" height="16px" alt=""/>dev.classmethod.jp</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/qiita.com/ynott/items/1ff698868ef85e50f5a1" class="sc-cTAqQK eKDsnJ"><strong>42</strong>ブックマーク</a><a href="https://qiita.com/ynott/items/1ff698868ef85e50f5a1" class="sc-jObWnj cGnNsn">.gitlab-ci.yml によるジョブの設定方法(日本語訳) - Qiita</a><a href="https://qiita.com/ynott/items/1ff698868ef85e50f5a1" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/1119af96ee188cffbc6cd34109e0ae9f155a010e/height=200;version=1;width=200/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0TGFiJTIwQ0klMkZDRCVFMyU4MyU5MSVFMyU4MiVBNCVFMyU4MyU5NyVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyVCMyVFOCVBOCVBRCVFNSVBRSU5QSVFMyU4MyVBQSVFMyU4MyU5NSVFMyU4MiVBMSVFMyU4MyVBQyVFMyU4MyVCMyVFMyU4MiVCOSUyOCVFNiU5NyVBNSVFNiU5QyVBQyVFOCVBQSU5RSVFOCVBOCVCMyUzQUdpdExhYiUyMENJJTJGQ0QlMjBQaXBlbGluZSUyMENvbmZpZ3VyYXRpb24lMjBSZWZlcmVuY2UlMjkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTBlMWQwNmI4YzlhNTg3NzZmMmVkMmI0MGY5N2I3Zjgw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5bm90dCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NDUzMGIyYjhjZTM5MGJlZmZhOTZjNzJjNGZjZjY3MjU%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44K544K_44Kk44Or44K6%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Dca46585494db0ff3709a04eda6aae50e" alt=""/></a><a href="https://b.hatena.ne.jp/site/qiita.com/ynott" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fqiita.com%2Fynott%2Fitems%2F1ff698868ef85e50f5a1" width="16px" height="16px" alt=""/>qiita.com</span></a></div></div><div class="sc-iAKWXU iFOrlO"><div class="sc-efQSVx kdrjec"><a href="https://b.hatena.ne.jp/entry/s/webuilder240.hatenablog.com/entry/2016/02/17/080000" class="sc-cTAqQK eKDsnJ"><strong>38</strong>ブックマーク</a><a href="https://webuilder240.hatenablog.com/entry/2016/02/17/080000" class="sc-jObWnj cGnNsn">GitLab CIを触って暫くたったので雑な感想 - Webuilder240&#x27;s Blog</a><a href="https://webuilder240.hatenablog.com/entry/2016/02/17/080000" class="sc-dPiLbb dcDqJM"><img src="https://cdn.image.st-hatena.com/image/square/48249b506d37fa7c5bdc14d9e253394913737b58/height=200;version=1;width=200/https%3A%2F%2Fogimage.blog.st-hatena.com%2F6653458415126534389%2F10328537792363634583%2F1455667082" alt=""/></a><a href="https://b.hatena.ne.jp/site/webuilder240.hatenablog.com/" class="sc-cNKqjZ exscr"><span class="sc-AjmGg ckjIGV"><img src="https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fwebuilder240.hatenablog.com%2Fentry%2F2016%2F02%2F17%2F080000" width="16px" height="16px" alt=""/>webuilder240.hatenablog.com</span></a></div></div></div></div><div></div><div class="sc-cZMNgc fWpXUO"><div><h2>関連ブログ</h2></div></div><div><div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2023/01/10/090000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2023/01/10/090000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEによる、GitLabのCI/CDパイプラインのキーワード解説 ~include 編~</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/9aeaf8b35878ac372d5cf263509f6cb309efacca/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F95a2ce6f4d3de3b67fe66503d5a8181eae55cb76%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221216%252F20221216093843.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 以前、GitLabのCI/CDパイプラインのキーワード解説で workflow を取り上げました。(こちら) ほぼ筆者の自習メモと化しているこのキーワード解説の第2弾をお送りいたします。 今回はキーワード include の概要と具体例を用いた説明をします。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 キーワード include の概要 キーワード include のユースケース include の超簡単な使い方の例 ローカルに存在する別のyamlファイルを含める場合 (local) 同じGItLabイン…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span></div></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2022/11/01/090000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2022/11/01/090000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEによる、GitLabのCI/CDパイプラインのキーワード解説 ~workflow 編~</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/8a67f78cc76ba612595c2d51ced87d9d50eaf8ba/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F006fb7f166bfd017acaff4786a35277026cb693f%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116170521.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 今までのブログでも時々、GitLabでごく簡単なCI/CDパイプラインを作るような記事を書いてまいりましたが、正直、まだまだ筆者はCI/CDパイプラインを便利に使いこなせていないと思う今日この頃です。 ブログを書いている以上、ある程度キーワードの使い方を知っておきたい・・・そんな筆者の欲望を満たすため、これからは時々、筆者が気になったCI/CDパイプラインのキーワードをピックアップして、それをひたすら解説するだけの記事を書いてまいります。 今回はキーワード workflow の概要と具体例を用いた説明をします。 本記事の対象の方 今回のブログのゴール こ…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2022/10/10/090000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2022/10/10/090000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEが、GitLabのCI/CDパイプラインからAWS CLIでS3バケットを作成/削除するだけ</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/5a7d8087d766e21a534b546daa9f917745eb394c/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fcf6fb4d94232481644d61e3e3cdac5490e742902%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116165449.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 CI/CDパイプラインでは パブリッククラウドのリソースを作成することできます。 やり方はCLIでコマンドを実行する、APIを使う、Infrastructure as Code (IaC) を使う等の方法があります。 筆者はCLIなら何とかなりそうなので、とりあえずはCLIのコマンドを用いてパブリッククラウドのリソースの操作を試行してみたいと思います。 というわけで本記事では、GitLabのCI/CDパイプラインからAWSのCLI (awsコマンド) を使ってS3バケットを作成 / 削除する方法を紹介いたします。 最初はEC2の作成/削除にしようと思った…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/AWS%20S3">#<!-- -->AWS S3</a></span></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2022/09/20/090000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2022/09/20/090000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEが、Markdownで書いたメモをGitLab Pagesで公開するだけ</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/03197119bd4465ef79c9366d01b4fae0827363c9/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fc3c3a8921230d98199267bf3642f997670fe57b1%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116164600.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 前回、GitLab Pagesを試すブログ (こちら) を公開致しました。 前回はHTMLのテンプレートを使ったのですが、今回はMiddlemanのテンプレートを使ってMarkdownで書いたメモをGitLab Pagesで公開する方法を試してみようと思います。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 前提 作業概要 Step1. グループを作成する Step2. テンプレートからプロジェクトを作成する Step3. Runnerの確認 Step4. リポジトリの編集とコミット、テストページのデプロイ…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab%20Pages">#<!-- -->GitLab Pages</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://tech-blog.optim.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/4f54e2b2def68f49d3db8eb0dc84fd0eb03122bc/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F153388529%2F1543549354125772" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://tech-blog.optim.co.jp/" class="sc-iNGGcK dCOBQS">OPTiM TECH BLOG</a>•<a href="https://tech-blog.optim.co.jp/entry/2022/09/12/100000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://tech-blog.optim.co.jp/entry/2022/09/12/100000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">【CI/CD】AWS LambdaのZIP生成はGitLab Runnerにお任せ!</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/ea98e6da239e85de9c49fba24b6bc10040982ba7/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fcad29df807e3ea17cda340b6116e260447facbe9%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fo%252Foptim-tech%252F20190129%252F20190129152605_original.jpg" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>はじめに こんにちは、AI・IoTサービス開発部のがんがんこと岩丸です。最近在宅ワークのメリハリ向上を目指してお香を購入しました。リラックス効果が高く、当初想定していたよりも購入してよかったです。 前回の記事では AWS CLIのQueryオプションを使用してリリース対象のECRイメージ一覧取得を行いました。もしお時間ある方は合わせてご覧ください。 tech-blog.optim.co.jp タイトルでお察しかと思いますが今回はGitLab Runnerに関する記事です。 AWS Lambda用のZIP生成を楽に出来ないかと色々調べていた時、ふと「GitLab RunnerのArtifacts…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/lambda">#<!-- -->lambda</a></span></div></div><div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2022/09/12/090000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2022/09/12/090000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEが、Docker Composeで起動したGitLabでGitLab Pagesをはじめて使う話</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/bb9d7998abd99f0cfc04bef5314c1e830eace1b0/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F85bbf1878fd150b5bc7f183c4efcc2abf4c9b532%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116162654.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 GitLabには静的WebサイトをGitLabのリポジトリから直接公開する GitLab Pages という機能があります。 この機能はSaaS版とオンプレ版の両方で利用でき、且つ、全てのティアで (無償版でも) 利用可能という、結構大盤振る舞いな機能です。 今回はDocker Composeで起動したGitLabでGitLab Pagesを簡単に試す方法をご紹介いたします。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 筆者の検証環境 GitLab公式の説明動画 グループタイプのGitLab Pagesの…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab%20Pages">#<!-- -->GitLab Pages</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span></div></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2022/08/01/090000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2022/08/01/090000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEが、GitLabでコンテナイメージのスキャン結果によってイメージをプッシュする or しないパイプラインを作る</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/d0ab20580040a1fa52eb41287245eccf32710ffa/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ffd0789be27f5bb2c6e7c5d31f587c4032ce73b0e%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116161741.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 前々回はコンテナレジストリ、前回はコンテナスキャンと、最近の本ブログはCI/CDパイプラインを使ったコンテナ関連処理祭りですが、今回はちょっとだけ応用編としてGitLabでコンテナスキャンを実装し、緊急性の高い脆弱性が無ければコンテナレジストリに登録させる処理を実装する話となります。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 実装するナリオ 事前準備 シナリオの実装 シナリオ1 : CI/CDパイプラインを使って任意のイメージをビルドする シナリオ2 : ビルドしたイメージをAuto DevOpsを使っ…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">#<!-- -->コンテナセキュリティ</a></span></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://blogs.networld.co.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://blogs.networld.co.jp/" class="sc-iNGGcK dCOBQS">ネットワールド らぼ</a>•<a href="https://blogs.networld.co.jp/entry/2022/07/22/143526" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://blogs.networld.co.jp/entry/2022/07/22/143526" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitとCI/CDに関する知識ゼロのSEが、GitLabでコンテナスキャンを実装するだけ</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/efbdfa5801f40b5db5c555bc8ab3403e0604ddfa/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F4da56bf3c4b8499f10d0707b26710484f564af53%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20220823%252F20220823145431.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>皆様こんにちは。SEの小池と申します。 前回GitLabのコンテナレジストリにイメージを登録する話を記載したので、今回はそれに関連してGitLabのAuto DevOpsの1つであるコンテナスキャンを実装します。 なお、前回のブログの内容と重複する部分がございます。 前回のブログの続きでご覧いただいている方は、適宜読み飛ばしていただければと存じます。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 事前準備 コンテナスキャンの実装 Step1 : CI/CDパイプラインを使って任意のイメージをビルドする Step2 : ビルドしたイメージをAuto…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/GitLab">#<!-- -->GitLab</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3">#<!-- -->コンテナセキュリティ</a></span></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://creators.bengo4.com/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://creators.bengo4.com/" class="sc-iNGGcK dCOBQS">弁護士ドットコム株式会社 Creators’ blog</a>•<a href="https://creators.bengo4.com/entry/2022/07/20/083000" class="sc-jeraig cHHEBX">2年前</a></div></div><a href="https://creators.bengo4.com/entry/2022/07/20/083000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">1400 行の一枚岩な .gitlab-ci.yml を分割して CI を高速化した</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/745ec0c94a30a6ea399a8638fcb34ea73a2e4981/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F633fe58e8852c84a86b8b1029dde9da25c7025d2%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbengo4%252F20220719%252F20220719111639.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサイン事業本部では本体アプリケーション(以下本体)のソースコード管理を GitLab で行っています。 そして、本体とその関連サービス、バッチなどを 1 つのリポジトリで管理するモノレポ構成を取っています。 今回は、そんなモノレポ構成のリポジトリの GitLab CI パイプラインを分割し、開発速度を大きく改善した話をご紹介します。 CI 分割以前の CI 構成 モノ…</p></div></a><div class="sc-lcepkR bdhVtG"><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/ci">#<!-- -->ci</a></span><span class="sc-khQegj lltUDN"><a href="https://d.hatena.ne.jp/keyword/gitlab-ci">#<!-- -->gitlab-ci</a></span></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://tech.buysell-technologies.com/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/de28183c139e01bdca4ddea7fbe555663b91c7b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F154289701%2F1675304018946841" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://tech.buysell-technologies.com/" class="sc-iNGGcK dCOBQS">バイセル Tech Blog</a>•<a href="https://tech.buysell-technologies.com/entry/2024/11/20/120000" class="sc-jeraig cHHEBX">5日前</a></div></div><a href="https://tech.buysell-technologies.com/entry/2024/11/20/120000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">Webサイトの運用を属人化から脱却した7つの改善策</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/31f0f0f6aa75b878c082336532fb9900fcd61722/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F433325563d3b5c32036c04e8a4b8d2ed281b477f%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbst-tech%252F20241113%252F20241113154440.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>はじめに こんにちは、株式会社BuySell Technologies テクノロジー戦略本部 開発3部 Tech MK グループ(テックマーケティンググループ)の土屋です。 私は今年の8月1日から入社し、グループ会社である「株式会社タイムレス」の専属エンジニアとして、Webサイト制作全般を担当しております。 私が入社するまで、一部の運営サイトは前任者に委ねられていました。 しかし、私が入社したタイミングでは前任者の方は既に退職しており、手探りの中、Tech MK グループのメンバーによって保守・運用されている状況でした。 一人のエンジニアに依存していた状況を、チーム全体で効率的に運用できるよう…</p></div></a><div class="sc-lcepkR bdhVtG"></div></div><div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://inside.pixiv.blog/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/44bd38397875ca54bc89b9198e65304235fd4de7/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F155500129%2F1653547359168576" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://inside.pixiv.blog/" class="sc-iNGGcK dCOBQS">pixiv inside</a>•<a href="https://inside.pixiv.blog/2024/11/07/123000" class="sc-jeraig cHHEBX">18日前</a></div></div><a href="https://inside.pixiv.blog/2024/11/07/123000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">GitLabとOrvalを活用したフロントエンドテスト</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/713e8707750cedafd6b719920f0ff380ceddf3ab/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fff19b0079ab6b0d4fd2e78ce298756bcf0d804e9%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fd%252Fdevpixiv%252F20241105%252F20241105201754.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>こんにちは、pixivcobanのエンジニアをしているnyamadanです。 PIXIV DEV MEETUP 2024ではpixivcobanのフロントエンドのカバレッジをいかに向上させたかについてお伝えしました。 speakerdeck.com pixivcobanブースにも常駐していて、小判型のティッシュペーパーを配るなどしていました。 pixivcobanとは pixivcobanはプリペイド型の支払い手段です。定期的にキャンペーンを行っており、BOOTHやpixivFANBOXをオトクにご利用いただけます。 テストを重視するモチベーション 私自身が感じていたことですが、pixivco…</p></div></a><div class="sc-lcepkR bdhVtG"></div></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://suzaku-tec.hatenadiary.jp/" class="sc-jgrJph chuemY"><img src="https://cdn.blog.st-hatena.com/images/admin/blog-icon-noimage.png" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://suzaku-tec.hatenadiary.jp/" class="sc-iNGGcK dCOBQS">エンターテイメント!!</a>•<a href="https://suzaku-tec.hatenadiary.jp/entry/2024/11/01/160000" class="sc-jeraig cHHEBX">24日前</a></div></div><a href="https://suzaku-tec.hatenadiary.jp/entry/2024/11/01/160000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">【翻訳+意訳・要約】フロントエンドの現状 2024</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/192ef90a065bbac44c1d9ff77eb8141d472ebd88/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fogimage.blog.st-hatena.com%2F6653586347146159908%2F6802418398300491602%2F1730444400" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>※本記事は、ChatGPTによる意訳+翻訳を活用し、文章に手を加えたものです ※元記事を見て、内容がズレていないか査読するようにしています。 ※感想は、オリジナルです。 原文 意訳+要約 フロントエンドの現状2024 チームとテクノロジー チーム構成 フレームワーク ライブラリ データ ホスティング 継続的インテグレーション マイクロフロントエンド パッケージマネージャ 開発者とユーザーエクスペリエンス TypeScript ブラウザ技術 プログレッシブウェブアプリ デザインシステム スタイルツール テスト コード管理 ローコード/ノーコード 構築ツール オペレーティングシステム トレンドと将…</p></div></a><div class="sc-lcepkR bdhVtG"></div></div><div class="sc-hUpaCq eTGxBZ"><div class="sc-gSQFLo gtijWP"><a href="https://creators.bengo4.com/" class="sc-jgrJph chuemY"><img src="https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162" alt=""/></a><div class="sc-lbhJGD jiSLiQ"><a href="https://creators.bengo4.com/" class="sc-iNGGcK dCOBQS">弁護士ドットコム株式会社 Creators’ blog</a>•<a href="https://creators.bengo4.com/entry/2024/10/22/073000" class="sc-jeraig cHHEBX">1ヶ月前</a></div></div><a href="https://creators.bengo4.com/entry/2024/10/22/073000" class="sc-eJwWfJ iGwSLi"><h3 class="sc-nVkyK eKvbKi">ゼロダウンタイムで Amazon EC2 で稼働している nginx を AWS Fargate に移行した</h3><div class="sc-ehCJOs fvupeU"><img src="https://cdn.image.st-hatena.com/image/scale/88616a079fb0523492491db3d2dc2d13892fd39c/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F5c69b9d99e3c3a35016dc41b6effe644e0fa9c38%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbengo4%252F20241021%252F20241021192009.png" alt=""/></div><div class="sc-hiwPVj cSVtPS"><p>こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサインは 2024 年 10 月で 10 年目のサービスとなりました。 裏ではさまざまなアプリケーション(定期実行バッチ、常駐バッチ、内部 API サーバーなど)が稼働し、相互に連携してサービスを提供しているのですが、中には非常に古くから稼働しているものも存在します。 今回お話する nginx もその 1 つです。 クラウドサインの裏で稼働するアプリケーションのほとん…</p></div></a><div class="sc-lcepkR bdhVtG"></div></div><div></div></div></div><div class="sc-fbyfCU jDxbCk"><div></div><footer class="sc-hBUSln khBKZC"><div class="sc-fotOHu erCtv"><ul itemscope="" itemType="http://schema.org/BreadcrumbList"><li itemscope="" itemProp="itemListElement" itemType="http://schema.org/ListItem"><a href="https://hatenablog.com/" itemProp="item"><span itemProp="name">はてなブログ</span></a><meta itemProp="position" content="1"/></li><li itemscope="" itemProp="itemListElement" itemType="http://schema.org/ListItem"><span>&gt;</span><span itemProp="name">未指定</span><meta itemProp="position" content="2"/></li><li itemscope="" itemProp="itemListElement" itemType="http://schema.org/ListItem"><span>&gt;</span><a href="https://d.hatena.ne.jp/keyword/gitlab-ci" itemProp="item"><span itemProp="name">gitlab-ci</span></a><meta itemProp="position" content="3"/></li></ul></div><ul class="sc-egiyK eLzidY"><li class="sc-bqiRlB hatryS"><a href="https://d.hatena.ne.jp/" class="sc-ksdxgE fOytDi">はてなブログ タグとは</a></li><li class="sc-bqiRlB hatryS"><a href="https://help.hatenablog.com/" class="sc-ksdxgE fOytDi">ヘルプ</a></li><li class="sc-bqiRlB hatryS"><a href="https://staff.hatenablog.com/" class="sc-ksdxgE fOytDi">開発ブログ</a></li><li class="sc-bqiRlB hatryS"><a href="https://hatenablog.com/" class="sc-ksdxgE fOytDi">はてなブログトップ</a></li></ul><div class="sc-fFeiMQ bcqfTw">Copyright (C) 2001-<!-- -->2024<!-- --> Hatena.</div></footer></div></div><div></div><div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"dataManager":"[]","props":{"pageProps":{},"apolloState":{"data":{"ROOT_QUERY":{"__typename":"Query","tag({\"name\":\"gitlab-ci\"})":{"__typename":"Tag","meanings({\"first\":5})":{"__typename":"MeaningConnection","nodes":[{"__typename":"Meaning","canBeIndexedBySearchEngine":true,"tagId":"13069280078465270196","revisions({\"first\":1})":{"__typename":"TagRevisionConnection","nodes":[{"__typename":"TagRevision","formattedBody({\"plainTextLength\":50})":{"__typename":"FormattedBody","HTML":"","Text":""}}]},"name":"gitlab-ci","furigana":"","genre":{"__typename":"Genre","name":"未指定","url":"/keywordlist?cname=%E6%9C%AA%E6%8C%87%E5%AE%9A"}}]},"hotArticles({\"first\":16})":{"__typename":"HotArticleConnection","nodes":[{"__typename":"BlogArticle","title":"Webサイトの運用を属人化から脱却した7つの改善策","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/433325563d3b5c32036c04e8a4b8d2ed281b477f/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fb%2Fbst-tech%2F20241113%2F20241113154440.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/31f0f0f6aa75b878c082336532fb9900fcd61722/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F433325563d3b5c32036c04e8a4b8d2ed281b477f%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbst-tech%252F20241113%252F20241113154440.png"},"hasOwnThumbnail":true,"summary":"はじめに こんにちは、株式会社BuySell Technologies テクノロジー戦略本部 開発3部 Tech MK グループ(テックマーケティンググループ)の土屋です。 私は今年の8月1日から入社し、グループ会社である「株式会社タイムレス」の専属エンジニアとして、Webサイト制作全般を担当しております。 私が入社するまで、一部の運営サイトは前任者に委ねられていました。 しかし、私が入社したタイミングでは前任者の方は既に退職しており、手探りの中、Tech MK グループのメンバーによって保守・運用されている状況でした。 一人のエンジニアに依存していた状況を、チーム全体で効率的に運用できるよう…","url":"https://tech.buysell-technologies.com/entry/2024/11/20/120000","tags":{"__typename":"AssociatedTagsConnection","nodes":[]},"publishedAt":"2024-11-20T12:00:00+09:00","blog":{"__typename":"Blog","url":"https://tech.buysell-technologies.com/","title":"バイセル Tech Blog","iconURL":"https://cdn.image.st-hatena.com/image/square/de28183c139e01bdca4ddea7fbe555663b91c7b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F154289701%2F1675304018946841"}},{"__typename":"BlogArticle","title":"GitLabとOrvalを活用したフロントエンドテスト","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/ff19b0079ab6b0d4fd2e78ce298756bcf0d804e9/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fd%2Fdevpixiv%2F20241105%2F20241105201754.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/713e8707750cedafd6b719920f0ff380ceddf3ab/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fff19b0079ab6b0d4fd2e78ce298756bcf0d804e9%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fd%252Fdevpixiv%252F20241105%252F20241105201754.png"},"hasOwnThumbnail":true,"summary":"こんにちは、pixivcobanのエンジニアをしているnyamadanです。 PIXIV DEV MEETUP 2024ではpixivcobanのフロントエンドのカバレッジをいかに向上させたかについてお伝えしました。 speakerdeck.com pixivcobanブースにも常駐していて、小判型のティッシュペーパーを配るなどしていました。 pixivcobanとは pixivcobanはプリペイド型の支払い手段です。定期的にキャンペーンを行っており、BOOTHやpixivFANBOXをオトクにご利用いただけます。 テストを重視するモチベーション 私自身が感じていたことですが、pixivco…","url":"https://inside.pixiv.blog/2024/11/07/123000","tags":{"__typename":"AssociatedTagsConnection","nodes":[]},"publishedAt":"2024-11-07T12:30:00+09:00","blog":{"__typename":"Blog","url":"https://inside.pixiv.blog/","title":"pixiv inside","iconURL":"https://cdn.image.st-hatena.com/image/square/44bd38397875ca54bc89b9198e65304235fd4de7/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F155500129%2F1653547359168576"}},{"__typename":"BlogArticle","title":"【翻訳+意訳・要約】フロントエンドの現状 2024","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://ogimage.blog.st-hatena.com/6653586347146159908/6802418398300491602/1730444400","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/192ef90a065bbac44c1d9ff77eb8141d472ebd88/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fogimage.blog.st-hatena.com%2F6653586347146159908%2F6802418398300491602%2F1730444400"},"hasOwnThumbnail":true,"summary":"※本記事は、ChatGPTによる意訳+翻訳を活用し、文章に手を加えたものです ※元記事を見て、内容がズレていないか査読するようにしています。 ※感想は、オリジナルです。 原文 意訳+要約 フロントエンドの現状2024 チームとテクノロジー チーム構成 フレームワーク ライブラリ データ ホスティング 継続的インテグレーション マイクロフロントエンド パッケージマネージャ 開発者とユーザーエクスペリエンス TypeScript ブラウザ技術 プログレッシブウェブアプリ デザインシステム スタイルツール テスト コード管理 ローコード/ノーコード 構築ツール オペレーティングシステム トレンドと将…","url":"https://suzaku-tec.hatenadiary.jp/entry/2024/11/01/160000","tags":{"__typename":"AssociatedTagsConnection","nodes":[]},"publishedAt":"2024-11-01T16:00:00+09:00","blog":{"__typename":"Blog","url":"https://suzaku-tec.hatenadiary.jp/","title":"エンターテイメント!!","iconURL":"https://cdn.blog.st-hatena.com/images/admin/blog-icon-noimage.png"}},{"__typename":"BlogArticle","title":"ゼロダウンタイムで Amazon EC2 で稼働している nginx を AWS Fargate に移行した","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/5c69b9d99e3c3a35016dc41b6effe644e0fa9c38/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fb%2Fbengo4%2F20241021%2F20241021192009.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/88616a079fb0523492491db3d2dc2d13892fd39c/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F5c69b9d99e3c3a35016dc41b6effe644e0fa9c38%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbengo4%252F20241021%252F20241021192009.png"},"hasOwnThumbnail":true,"summary":"こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサインは 2024 年 10 月で 10 年目のサービスとなりました。 裏ではさまざまなアプリケーション(定期実行バッチ、常駐バッチ、内部 API サーバーなど)が稼働し、相互に連携してサービスを提供しているのですが、中には非常に古くから稼働しているものも存在します。 今回お話する nginx もその 1 つです。 クラウドサインの裏で稼働するアプリケーションのほとん…","url":"https://creators.bengo4.com/entry/2024/10/22/073000","tags":{"__typename":"AssociatedTagsConnection","nodes":[]},"publishedAt":"2024-10-22T07:30:00+09:00","blog":{"__typename":"Blog","url":"https://creators.bengo4.com/","title":"弁護士ドットコム株式会社 Creators’ blog","iconURL":"https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162"}}]},"taggedBlogArticlesRealResult({\"first\":10})":{"__typename":"TaggedBlogArticleConnection","nodes":[{"__typename":"BlogArticle","title":"合計 3600 行の .gitlab-ci.yml から 70 %重複コードを削減しつつ、必須のテストを必ず実装できるようにした","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/6803048a659eebb3a4595ed71fc0cb05033b310e/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fb%2Fbengo4%2F20231128%2F20231128083016.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/8e1bd9275995ef5a6ecf461937aa123b5162e523/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F6803048a659eebb3a4595ed71fc0cb05033b310e%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbengo4%252F20231128%252F20231128083016.png"},"hasOwnThumbnail":true,"summary":"こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサインの本体アプリケーション(以下本体)のソースコードは GitLab で管理しており、 関連サービス、バッチなども 1 つのリポジトリで管理するモノレポ構成を取っています。 2022 年 9 月当時、バッチのソースコードだけで 43 個も管理していました。 バッチはいずれも GitLab CI で自動テストを実装しており、その CI コード行数はすべて合わせると 3…","url":"https://creators.bengo4.com/entry/2023/11/28/083000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/ci","name":"ci"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"}]},"publishedAt":"2023-11-28T08:30:00+09:00","blog":{"__typename":"Blog","url":"https://creators.bengo4.com/","title":"弁護士ドットコム株式会社 Creators’ blog","iconURL":"https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEによる、GitLabのCI/CDパイプラインのキーワード解説 ~include 編~","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/95a2ce6f4d3de3b67fe66503d5a8181eae55cb76/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20221216%2F20221216093843.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/9aeaf8b35878ac372d5cf263509f6cb309efacca/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F95a2ce6f4d3de3b67fe66503d5a8181eae55cb76%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221216%252F20221216093843.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 以前、GitLabのCI/CDパイプラインのキーワード解説で workflow を取り上げました。(こちら) ほぼ筆者の自習メモと化しているこのキーワード解説の第2弾をお送りいたします。 今回はキーワード include の概要と具体例を用いた説明をします。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 キーワード include の概要 キーワード include のユースケース include の超簡単な使い方の例 ローカルに存在する別のyamlファイルを含める場合 (local) 同じGItLabイン…","url":"https://blogs.networld.co.jp/entry/2023/01/10/090000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"}]},"publishedAt":"2023-01-10T09:00:00+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEによる、GitLabのCI/CDパイプラインのキーワード解説 ~workflow 編~","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/006fb7f166bfd017acaff4786a35277026cb693f/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20221116%2F20221116170521.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/8a67f78cc76ba612595c2d51ced87d9d50eaf8ba/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F006fb7f166bfd017acaff4786a35277026cb693f%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116170521.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 今までのブログでも時々、GitLabでごく簡単なCI/CDパイプラインを作るような記事を書いてまいりましたが、正直、まだまだ筆者はCI/CDパイプラインを便利に使いこなせていないと思う今日この頃です。 ブログを書いている以上、ある程度キーワードの使い方を知っておきたい・・・そんな筆者の欲望を満たすため、これからは時々、筆者が気になったCI/CDパイプラインのキーワードをピックアップして、それをひたすら解説するだけの記事を書いてまいります。 今回はキーワード workflow の概要と具体例を用いた説明をします。 本記事の対象の方 今回のブログのゴール こ…","url":"https://blogs.networld.co.jp/entry/2022/11/01/090000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"}]},"publishedAt":"2022-11-01T09:00:00+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEが、GitLabのCI/CDパイプラインからAWS CLIでS3バケットを作成/削除するだけ","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/cf6fb4d94232481644d61e3e3cdac5490e742902/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20221116%2F20221116165449.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/5a7d8087d766e21a534b546daa9f917745eb394c/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fcf6fb4d94232481644d61e3e3cdac5490e742902%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116165449.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 CI/CDパイプラインでは パブリッククラウドのリソースを作成することできます。 やり方はCLIでコマンドを実行する、APIを使う、Infrastructure as Code (IaC) を使う等の方法があります。 筆者はCLIなら何とかなりそうなので、とりあえずはCLIのコマンドを用いてパブリッククラウドのリソースの操作を試行してみたいと思います。 というわけで本記事では、GitLabのCI/CDパイプラインからAWSのCLI (awsコマンド) を使ってS3バケットを作成 / 削除する方法を紹介いたします。 最初はEC2の作成/削除にしようと思った…","url":"https://blogs.networld.co.jp/entry/2022/10/10/090000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/AWS%20S3","name":"AWS S3"}]},"publishedAt":"2022-10-10T09:00:00+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEが、Markdownで書いたメモをGitLab Pagesで公開するだけ","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/c3c3a8921230d98199267bf3642f997670fe57b1/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20221116%2F20221116164600.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/03197119bd4465ef79c9366d01b4fae0827363c9/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fc3c3a8921230d98199267bf3642f997670fe57b1%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116164600.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 前回、GitLab Pagesを試すブログ (こちら) を公開致しました。 前回はHTMLのテンプレートを使ったのですが、今回はMiddlemanのテンプレートを使ってMarkdownで書いたメモをGitLab Pagesで公開する方法を試してみようと思います。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 前提 作業概要 Step1. グループを作成する Step2. テンプレートからプロジェクトを作成する Step3. Runnerの確認 Step4. リポジトリの編集とコミット、テストページのデプロイ…","url":"https://blogs.networld.co.jp/entry/2022/09/20/090000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab%20Pages","name":"GitLab Pages"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"}]},"publishedAt":"2022-09-20T09:00:00+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"【CI/CD】AWS LambdaのZIP生成はGitLab Runnerにお任せ!","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/cad29df807e3ea17cda340b6116e260447facbe9/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Foptim-tech%2F20190129%2F20190129152605_original.jpg","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/ea98e6da239e85de9c49fba24b6bc10040982ba7/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Fcad29df807e3ea17cda340b6116e260447facbe9%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fo%252Foptim-tech%252F20190129%252F20190129152605_original.jpg"},"hasOwnThumbnail":true,"summary":"はじめに こんにちは、AI・IoTサービス開発部のがんがんこと岩丸です。最近在宅ワークのメリハリ向上を目指してお香を購入しました。リラックス効果が高く、当初想定していたよりも購入してよかったです。 前回の記事では AWS CLIのQueryオプションを使用してリリース対象のECRイメージ一覧取得を行いました。もしお時間ある方は合わせてご覧ください。 tech-blog.optim.co.jp タイトルでお察しかと思いますが今回はGitLab Runnerに関する記事です。 AWS Lambda用のZIP生成を楽に出来ないかと色々調べていた時、ふと「GitLab RunnerのArtifacts…","url":"https://tech-blog.optim.co.jp/entry/2022/09/12/100000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/lambda","name":"lambda"}]},"publishedAt":"2022-09-12T10:00:00+09:00","blog":{"__typename":"Blog","url":"https://tech-blog.optim.co.jp/","title":"OPTiM TECH BLOG","iconURL":"https://cdn.image.st-hatena.com/image/square/4f54e2b2def68f49d3db8eb0dc84fd0eb03122bc/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F153388529%2F1543549354125772"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEが、Docker Composeで起動したGitLabでGitLab Pagesをはじめて使う話","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/85bbf1878fd150b5bc7f183c4efcc2abf4c9b532/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20221116%2F20221116162654.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/bb9d7998abd99f0cfc04bef5314c1e830eace1b0/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F85bbf1878fd150b5bc7f183c4efcc2abf4c9b532%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116162654.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 GitLabには静的WebサイトをGitLabのリポジトリから直接公開する GitLab Pages という機能があります。 この機能はSaaS版とオンプレ版の両方で利用でき、且つ、全てのティアで (無償版でも) 利用可能という、結構大盤振る舞いな機能です。 今回はDocker Composeで起動したGitLabでGitLab Pagesを簡単に試す方法をご紹介いたします。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 筆者の検証環境 GitLab公式の説明動画 グループタイプのGitLab Pagesの…","url":"https://blogs.networld.co.jp/entry/2022/09/12/090000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab%20Pages","name":"GitLab Pages"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"}]},"publishedAt":"2022-09-12T09:00:00+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEが、GitLabでコンテナイメージのスキャン結果によってイメージをプッシュする or しないパイプラインを作る","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/fd0789be27f5bb2c6e7c5d31f587c4032ce73b0e/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20221116%2F20221116161741.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/d0ab20580040a1fa52eb41287245eccf32710ffa/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2Ffd0789be27f5bb2c6e7c5d31f587c4032ce73b0e%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20221116%252F20221116161741.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 前々回はコンテナレジストリ、前回はコンテナスキャンと、最近の本ブログはCI/CDパイプラインを使ったコンテナ関連処理祭りですが、今回はちょっとだけ応用編としてGitLabでコンテナスキャンを実装し、緊急性の高い脆弱性が無ければコンテナレジストリに登録させる処理を実装する話となります。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 実装するナリオ 事前準備 シナリオの実装 シナリオ1 : CI/CDパイプラインを使って任意のイメージをビルドする シナリオ2 : ビルドしたイメージをAuto DevOpsを使っ…","url":"https://blogs.networld.co.jp/entry/2022/08/01/090000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3","name":"コンテナセキュリティ"}]},"publishedAt":"2022-08-01T09:00:00+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"GitとCI/CDに関する知識ゼロのSEが、GitLabでコンテナスキャンを実装するだけ","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/4da56bf3c4b8499f10d0707b26710484f564af53/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnetworld-blog-post%2F20220823%2F20220823145431.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/efbdfa5801f40b5db5c555bc8ab3403e0604ddfa/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F4da56bf3c4b8499f10d0707b26710484f564af53%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fn%252Fnetworld-blog-post%252F20220823%252F20220823145431.png"},"hasOwnThumbnail":true,"summary":"皆様こんにちは。SEの小池と申します。 前回GitLabのコンテナレジストリにイメージを登録する話を記載したので、今回はそれに関連してGitLabのAuto DevOpsの1つであるコンテナスキャンを実装します。 なお、前回のブログの内容と重複する部分がございます。 前回のブログの続きでご覧いただいている方は、適宜読み飛ばしていただければと存じます。 本記事の対象の方 今回のブログのゴール このブログをお読みいただくにあたっての事前ご連絡事項 事前準備 コンテナスキャンの実装 Step1 : CI/CDパイプラインを使って任意のイメージをビルドする Step2 : ビルドしたイメージをAuto…","url":"https://blogs.networld.co.jp/entry/2022/07/22/143526","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/GitLab","name":"GitLab"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3","name":"コンテナセキュリティ"}]},"publishedAt":"2022-07-22T14:35:26+09:00","blog":{"__typename":"Blog","url":"https://blogs.networld.co.jp/","title":"ネットワールド らぼ","iconURL":"https://cdn.image.st-hatena.com/image/square/e5e84d292add0bbf942f708bdec2c5db439095b6/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F156048430%2F1587363232126295"}},{"__typename":"BlogArticle","title":"1400 行の一枚岩な .gitlab-ci.yml を分割して CI を高速化した","thumbnail":{"__typename":"ResizeableImage","originalURL":"https://cdn.image.st-hatena.com/image/scale/633fe58e8852c84a86b8b1029dde9da25c7025d2/backend=imagemagick;height=1300;version=1;width=1300/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fb%2Fbengo4%2F20220719%2F20220719111639.png","scaledImageURL({\"enlarge\":false,\"height\":220,\"width\":586})":"https://cdn.image.st-hatena.com/image/scale/745ec0c94a30a6ea399a8638fcb34ea73a2e4981/enlarge=0;height=220;version=1;width=586/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F633fe58e8852c84a86b8b1029dde9da25c7025d2%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fb%252Fbengo4%252F20220719%252F20220719111639.png"},"hasOwnThumbnail":true,"summary":"こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサイン事業本部では本体アプリケーション(以下本体)のソースコード管理を GitLab で行っています。 そして、本体とその関連サービス、バッチなどを 1 つのリポジトリで管理するモノレポ構成を取っています。 今回は、そんなモノレポ構成のリポジトリの GitLab CI パイプラインを分割し、開発速度を大きく改善した話をご紹介します。 CI 分割以前の CI 構成 モノ…","url":"https://creators.bengo4.com/entry/2022/07/20/083000","tags":{"__typename":"AssociatedTagsConnection","nodes":[{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/ci","name":"ci"},{"__typename":"Tag","url":"https://d.hatena.ne.jp/keyword/gitlab-ci","name":"gitlab-ci"}]},"publishedAt":"2022-07-20T08:30:00+09:00","blog":{"__typename":"Blog","url":"https://creators.bengo4.com/","title":"弁護士ドットコム株式会社 Creators’ blog","iconURL":"https://cdn.image.st-hatena.com/image/square/c8f8a42752d790c627840d5e05731eb476348993/backend=imagemagick;height=128;version=1;width=128/https%3A%2F%2Fcdn.user.blog.st-hatena.com%2Fblog_custom_icon%2F158586092%2F1643772498893162"}}],"pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MTY1Nzc4ODU3Myw0MjA3MTEyODg5OTAwMzc5Mzg2"}},"name":"gitlab-ci","primaryMeaning":{"__typename":"Meaning","genre":{"__typename":"Genre","name":"未指定","url":"/keywordlist?cname=%E6%9C%AA%E6%8C%87%E5%AE%9A"}},"url":"https://d.hatena.ne.jp/keyword/gitlab-ci","furigana":"","bookmarkedEntries({\"first\":10,\"order\":\"RECENT\"})":{"__typename":"BookmarkedEntryConnection","nodes":[{"__typename":"BookmarkEntry","title":"GitLab CI/CDで失敗したRSpecのテストのみを再実行する|TechRacho by BPS株式会社","description":"ある案件で、GitLab CI/CDでRSpecによるテストを自動化しています。 その際に以下の問題がありました。 テスト完了まで30分ほどかかる たまに落ちるテストがある CIでは、テスト成功後に開発環境へ自動デプロイするようになっているため、たまに落ちるテストによりテスト全体を再実行することになり、デプロイ完了まで多...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/b3c79df8b6fe1100b8cbe393cadd14ecac365a10/height=200;version=1;width=200/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2024%2F08%2Fgitlab_ci_cd_retry_rspec_tests_only_if_failed_eyecatch-min.png"},"bookmarksCount":12,"siteURL":"techracho.bpsinc.jp","url":"https://techracho.bpsinc.jp/yusiro/2024_08_28/144817","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/techracho.bpsinc.jp/yusiro/2024_08_28/144817","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/techracho.bpsinc.jp/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Ftechracho.bpsinc.jp%2Fyusiro%2F2024_08_28%2F144817"},{"__typename":"BookmarkEntry","title":"GitLab、「GitLab CI/CD Steps」発表--DevSecOps自動化向けプログラミング言語","description":"GitLabは米国時間8月6日、DevSecOps自動化向けプログラミング言語「GitLab CI/CD Steps」を発表した。 GitLab CI/CD Stepsは、GitLabのエンジニアが考案したコンセプトで、GitLabの継続的インテグレーション(CI)パイプライン構成で参照でき、CIジョブの再利用可能で構成可能な要素だと同社は説明する。複雑な自動化ワ...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/6496e0ffa8db7d521b7f54f70f6a6328edf830ad/height=200;version=1;width=200/https%3A%2F%2Fjapan.zdnet.com%2Fstorage%2F2024%2F01%2F19%2F212fd83b64fc8b4a2e6ffe87ef161706%2F230119_dev_as_509562606_1280x960.jpeg"},"bookmarksCount":8,"siteURL":"japan.zdnet.com","url":"https://japan.zdnet.com/article/35222539/","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/japan.zdnet.com/article/35222539/","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/japan.zdnet.com/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fjapan.zdnet.com%2Farticle%2F35222539%2F"},{"__typename":"BookmarkEntry","title":"GitHub - Cicada-Software/cicada: A FOSS, cross-platform version of GitHub Actions and Gitlab CI","description":"You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/47e9fea740d0d1e1b83c3916defcbb6cb262da60/height=200;version=1;width=200/https%3A%2F%2Fopengraph.githubassets.com%2F16d5be7fa462033b4ee23e109148a290d2d54dd2537da96c554735f5561eb3b5%2FCicada-Software%2Fcicada"},"bookmarksCount":6,"siteURL":"github.com","url":"https://github.com/Cicada-Software/cicada","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/github.com/Cicada-Software/cicada","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/github.com/Cicada-Software","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fgithub.com%2FCicada-Software%2Fcicada"},{"__typename":"BookmarkEntry","title":"reviewdog🐶を飼ってGitLab-CI上で静的解析しませんか? - Qiita","description":"はじめに レビュワーの工数削減とヒューマンエラーを防ぎコードの品質をさらに向上させていく取り組みの一環として、自動コードレビュー(静的解析) を検討しました。 そこで、reviewdogというツールを用いて実装しようとしたのですが、 reviewdogはgithub-actionsベースで開発がされているため、gitlabでの使用に関し...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/ba875788e535b8b4bb7e154b1801c8d99d147055/height=200;version=1;width=200/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9cmV2aWV3ZG9nJUYwJTlGJTkwJUI2JUUzJTgyJTkyJUU5JUEzJUJDJUUzJTgxJUEzJUUzJTgxJUE2R2l0TGFiLUNJJUU0JUI4JThBJUUzJTgxJUE3JUU5JTlEJTk5JUU3JTlBJTg0JUU4JUE3JUEzJUU2JTlFJTkwJUUzJTgxJTk3JUUzJTgxJUJFJUUzJTgxJTlCJUUzJTgyJTkzJUUzJTgxJThCJUVGJUJDJTlGJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz00ZDE4NWJjNzE0N2VlZDYyMTcxYTVlYmE0Y2I0YjA4OA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5b2tvby1hbjIwOSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NzRhMGQ4ZmRhOTU1ODE1MzM3MjRjZGJkNThkYzlkNjk%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44Ko44Or44O744OG44Kj44O844O744Ko44K5IOODquODs-OCrw%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D58c79d3f50843271b3210b5f74c7af0f"},"bookmarksCount":21,"siteURL":"qiita.com","url":"https://qiita.com/yokoo-an209/items/b1071c716cfe937b2210","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/qiita.com/yokoo-an209/items/b1071c716cfe937b2210","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/qiita.com/yokoo-an209","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fqiita.com%2Fyokoo-an209%2Fitems%2Fb1071c716cfe937b2210"},{"__typename":"BookmarkEntry","title":"GitLab CIテンプレートを作って色んなチームに布教した話 - エムスリーテックブログ","description":"これはエムスリー Advent Calendar 2022の32日目の記事です。 前日は@po3rinによる、ただのソフトウェアエンジニアが検索エンジニアになるまで でした。 あけましておめでとうございます。エムスリーエンジニアリンググループでScalaとマミさんが好きな安江です。アドカレを購読しているみなさま、またお目に掛かりまし...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/53902c778f26cb5d207dc4cc7dd27efc4c1234f1/height=200;version=1;width=200/https%3A%2F%2Fogimage.blog.st-hatena.com%2F8599973812294943206%2F4207112889949191239%2F1672542017"},"bookmarksCount":26,"siteURL":"www.m3tech.blog","url":"https://www.m3tech.blog/entry/2023/01/01/120000","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/www.m3tech.blog/entry/2023/01/01/120000","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/www.m3tech.blog/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fwww.m3tech.blog%2Fentry%2F2023%2F01%2F01%2F120000"},{"__typename":"BookmarkEntry","title":"1400 行の一枚岩な .gitlab-ci.yml を分割して CI を高速化した - 弁護士ドットコム株式会社 Creators’ blog","description":"こんにちは。弁護士ドットコム クラウドサイン事業本部で SRE をしています、大内と申します。 クラウドサイン事業本部の SRE ではサービスの可用性、信頼性の向上や開発の高速化、省力化を目指した開発を日々行っています。 クラウドサイン事業本部では本体アプリケーション(以下本体)のソースコード管理を GitLab で...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/1e3fb7d2c4b6b0fbaaf3abf5ce0d9a207d8ffa83/height=200;version=1;width=200/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fb%2Fbengo4%2F20220719%2F20220719111639.png"},"bookmarksCount":24,"siteURL":"creators.bengo4.com","url":"https://creators.bengo4.com/entry/2022/07/20/083000","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/creators.bengo4.com/entry/2022/07/20/083000","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/creators.bengo4.com/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fcreators.bengo4.com%2Fentry%2F2022%2F07%2F20%2F083000"},{"__typename":"BookmarkEntry","title":"GitHub - github/gh-valet: Valet helps facilitate the migration of Azure DevOps, CircleCI, GitLab CI, Jenkins, and Travis CI pipelines to GitHub Actions.","description":"You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/f78d4afcf350fd6d9490467d1b53e10bc958f4a3/height=200;version=1;width=200/https%3A%2F%2Fopengraph.githubassets.com%2Fb12240a354aa028dac462a974dab028d598c106238fcbb9a674fc08709c06966%2Fgithub%2Fgh-valet"},"bookmarksCount":25,"siteURL":"github.com","url":"https://github.com/github/gh-valet","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/github.com/github/gh-valet","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/github.com/github","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fgithub.com%2Fgithub%2Fgh-valet"},{"__typename":"BookmarkEntry","title":"環境を GitLab CI に移行してビルドを高速化した話 - pixiv inside","description":"はじめましての方ははじめまして。ピクシブで Scala エンジニアとして働いている Javakky です。 今回はビルド高速化 / デプロイの利便化のためビルド環境を Jenkins から GitLab に移行しましたので、そのレポートをお送りしていきたいと思います。 弊社のデプロイについて まずは、弊チームリポジトリの動作環境とデプ...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/bb67914a6b1eea603a59a9510e71375106c2ad2d/height=200;version=1;width=200/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fp%2Fpxvpxv%2F20220425%2F20220425163943.png"},"bookmarksCount":5,"siteURL":"inside.pixiv.blog","url":"https://inside.pixiv.blog/2022/05/09/110000_1","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/inside.pixiv.blog/2022/05/09/110000_1","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/inside.pixiv.blog/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Finside.pixiv.blog%2F2022%2F05%2F09%2F110000_1"},{"__typename":"BookmarkEntry","title":"extendsを使って.gitlab-ci.yml内の重複処理をまとめる | DevelopersIO","description":"先に結論から .gitlab-ci.yml内の以下のような重複処理は validate-dev: stage: terraform-static-test script: - cd env/dev - terraform init -backend=false - terraform validate validate-stg: stage: terraform-static-test script: - cd env/stg - terraform init -backend=false - terraform validate validate-...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/91111702de56fea9a91449079c49a5f122b381d5/height=200;version=1;width=200/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2019%2F05%2Fgitlab-i.png"},"bookmarksCount":6,"siteURL":"dev.classmethod.jp","url":"https://dev.classmethod.jp/articles/use-extends-in-gitlab-ci-yml/","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/dev.classmethod.jp/articles/use-extends-in-gitlab-ci-yml/","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/dev.classmethod.jp/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Fuse-extends-in-gitlab-ci-yml%2F"},{"__typename":"BookmarkEntry","title":"textlint + Reviewdog + GitLab CI でアドベントカレンダーの校正をした話","description":"textlint + Reviewdog + GitLab CI でアドベントカレンダーの校正をした話 2021.12.15 アドベントカレンダー2021 エンジニア テクノロジー これは、Qiita Advent Calendar 2021 GitLabの15日目の記事です。 はじめに こんにちは、フォルシアにて、旅行会社向けの web アプリケーションを開発しています、エンジニアの高...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/14333918990753249f67424281133828c2db37fe/height=200;version=1;width=200/https%3A%2F%2Fwww.forcia.com%2Fblog%2F2021%2F12%2F06%2Fac_15.png"},"bookmarksCount":5,"siteURL":"www.forcia.com","url":"https://www.forcia.com/blog/002374.html","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/www.forcia.com/blog/002374.html","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/www.forcia.com/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fwww.forcia.com%2Fblog%2F002374.html"}]},"bookmarkedEntries({\"first\":9,\"order\":\"POPULAR\"})":{"__typename":"BookmarkedEntryConnection","nodes":[{"__typename":"BookmarkEntry","title":"GitLab CI x Docker のススメ","description":"2016/11/1 Roppongi.rb での LTの資料です〜","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/6bf473b4699dc85fa13ecce94ab016815126b053/height=200;version=1;width=200/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4ea0bf9837d14339ada85faabcf47f1f%2Fslide_0.jpg%3F7109207"},"bookmarksCount":219,"siteURL":"speakerdeck.com","url":"https://speakerdeck.com/morizyun/gitlab-ci-x-docker-falsesusume","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/speakerdeck.com/morizyun/gitlab-ci-x-docker-falsesusume","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/speakerdeck.com/morizyun","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fspeakerdeck.com%2Fmorizyun%2Fgitlab-ci-x-docker-falsesusume"},{"__typename":"BookmarkEntry","title":"Gitlab CIでDockerベースのサービス開発のCI環境を作る - Qiita","description":"開発中のDockerベースのサービスのCI環境をAWS上にGitlab CIで一から作ることになったのでせっかくなので手順や気にしたこと、そのうち何とかしたいことなどをまとめました。 開発中のサービスについて だいたい以下のような構成のサービスの開発をしてます。そのため、構築するCI環境はDockerをbuildし、テストスクリプ...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/147ab820116243326fe4c941541fde1595e25c1c/height=200;version=1;width=200/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0bGFiJTIwQ0klRTMlODElQTdEb2NrZXIlRTMlODMlOTklRTMlODMlQkMlRTMlODIlQjklRTMlODElQUUlRTMlODIlQjUlRTMlODMlQkMlRTMlODMlOTMlRTMlODIlQjklRTklOTYlOEIlRTclOTklQkElRTMlODElQUVDSSVFNyU5MiVCMCVFNSVBMiU4MyVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MDM1OWE4NjJiOGY4MTZjYzU5OTAwOTM2Yjc0MGUwZTM%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBrby1oZS04JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kYWU5YjM0NmEzYWM1YmE0MzhmN2RhM2EyY2Q5MjA0Yg%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D50d9e6094fb7daf716117963a35f04c1"},"bookmarksCount":109,"siteURL":"qiita.com","url":"https://qiita.com/ko-he-8/items/faabe278fe6199aaaf01","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/qiita.com/ko-he-8/items/faabe278fe6199aaaf01","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/qiita.com/ko-he-8","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fqiita.com%2Fko-he-8%2Fitems%2Ffaabe278fe6199aaaf01"},{"__typename":"BookmarkEntry","title":"GitLab CIでRailsアプリをお手軽CI開発する - Tech Inside Drecom","description":"Variables ビルドに必要なんだけどリポジトリに直接コミットしたくないような変数をいれておくことができます。(例:Slackのトークンやsshの秘密鍵など) ここに設定しておけばジョブ実行時に環境変数として使うことができます 3. gitlab-ci.yml をリポジトリにコミットする http://doc.gitlab.com/ce/ci/yaml/README.h...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/d4543a19f8c39955ef14e22685c5e64e832f4bd8/height=200;version=1;width=200/https%3A%2F%2Ftech.drecom.co.jp%2Fwp-content%2Fuploads%2F2016%2F06%2Fgitlabci.png"},"bookmarksCount":72,"siteURL":"tech.drecom.co.jp","url":"https://tech.drecom.co.jp/easy-ci-development-using-gitlab-ci/","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/tech.drecom.co.jp/easy-ci-development-using-gitlab-ci/","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/tech.drecom.co.jp/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Ftech.drecom.co.jp%2Feasy-ci-development-using-gitlab-ci%2F"},{"__typename":"BookmarkEntry","title":"GitLab CIとPuppeteerを使ってはてなブログのデザインを継続的にデプロイする - pixiv inside - pixiv inside","description":"こんにちは!ピクシブ福岡オフィスでエンジニアをしている@tasshiです。 今回はpixiv insideリニューアルのデプロイ環境についてお話ししたいと思います。 pixiv insideについて 「pixiv inside(ピクシブ インサイド)」は、ピクシブ株式会社の日常を伝えるためのオウンドメディアです。 2014年に「pixiv engineering b...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/134227202cc5324ae571520af21b5ec9a0b20c8f/height=200;version=1;width=200/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fp%2Fpxv%2F20200331%2F20200331180811.png"},"bookmarksCount":60,"siteURL":"inside.pixiv.blog","url":"https://inside.pixiv.blog/2020/03/31/181448","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/inside.pixiv.blog/2020/03/31/181448","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/inside.pixiv.blog/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Finside.pixiv.blog%2F2020%2F03%2F31%2F181448"},{"__typename":"BookmarkEntry","title":"Gitlab CIを使ってSphinxのドキュメントを自動でPDFにビルドする - once upon a time,","description":"gitlab.comは自前でDocker image登録できたり、CI持っていたりと便利ですね。しかも、privateレポジトリもお金かからないという太っ腹。 技術書典2に向けたレポジトリはgitlab.comで管理しています。 今回は共著者にPython使いが多いためSphinxを使って書いているんですが、Sphinxはcommon markでも書けるのでmarkdownで...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/3f3a80009fe312ac9afc69979234e106574aba2d/height=200;version=1;width=200/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fchezou%2F20170123%2F20170123123725.png"},"bookmarksCount":48,"siteURL":"chezou.hatenablog.com","url":"https://chezou.hatenablog.com/entry/2017/01/23/123835","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/chezou.hatenablog.com/entry/2017/01/23/123835","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/chezou.hatenablog.com/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fchezou.hatenablog.com%2Fentry%2F2017%2F01%2F23%2F123835"},{"__typename":"BookmarkEntry","title":"Gitlab + Gitlab CI をためす - LGTM","description":"Gitlab + Jenkins があまりグッとこなかったので,Gitlab + Gitlab CI をためしてみた.結論から言えば,Gitlab + Jenkins より良いと思う. Docker 上に準備 やることは Gitlab コンテナを動かす Gitlab CI コンテナを動かす Gitlab Runner コンテナを動かす OSX 環境でためしたので, $ docker-machine ip default 192...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/15b6ab516aa2aab4c6733d46f47be4d0fb963839/height=200;version=1;width=200/https%3A%2F%2Fcdn.image.st-hatena.com%2Fimage%2Fscale%2F146d96bbd88615924d41951e70db4d14f46a3d93%2Fbackend%3Dimagemagick%3Bheight%3D1300%3Bversion%3D1%3Bwidth%3D1300%2Fhttp%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fc%252Fcodeout%252F20150821%252F20150821002701.png"},"bookmarksCount":45,"siteURL":"codeout.hatenablog.com","url":"https://codeout.hatenablog.com/entry/2015/08/21/012706","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/codeout.hatenablog.com/entry/2015/08/21/012706","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/codeout.hatenablog.com/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fcodeout.hatenablog.com%2Fentry%2F2015%2F08%2F21%2F012706"},{"__typename":"BookmarkEntry","title":"継続的インテグレーションツール「GitLab CI」を Amazon Linux にインストールしてみた | DevelopersIO","description":"はじめに 継続的インテグレーション (以下CI) とは、アプリ開発時の品質向上・納期短縮を目的とした習慣のことです。「アプリのテストやビルドの自動化」というと分かりやすいでしょうか。CI を支援するツールは Jenkins が有名ですが、今回は GitLab 製の CI ツール「GitLab CI」を Amazon Linux にインストールして使...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/28362c6fb5aa96705baab8070425ca41113e8d30/height=200;version=1;width=200/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2013%2F03%2Fcatch.png"},"bookmarksCount":42,"siteURL":"dev.classmethod.jp","url":"https://dev.classmethod.jp/articles/install-gitlab-ci/","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/dev.classmethod.jp/articles/install-gitlab-ci/","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/dev.classmethod.jp/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fdev.classmethod.jp%2Farticles%2Finstall-gitlab-ci%2F"},{"__typename":"BookmarkEntry","title":".gitlab-ci.yml によるジョブの設定方法(日本語訳) - Qiita","description":"v12.10.2を元に翻訳をRulesの項まで更新しました(2020/06/01) GitLab v13がリリースされるのもあり、更新作業中です(多分v13のリリースには間に合いません...)。翻訳が終わり次第更新する予定です(2020/05/14) v12.0.3を元に翻訳を更新しました(2019/07/24)。 本記事は、 https://gitlab.com/gitlab-org/gitlab-ce/blob/...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/1119af96ee188cffbc6cd34109e0ae9f155a010e/height=200;version=1;width=200/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R2l0TGFiJTIwQ0klMkZDRCVFMyU4MyU5MSVFMyU4MiVBNCVFMyU4MyU5NyVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyVCMyVFOCVBOCVBRCVFNSVBRSU5QSVFMyU4MyVBQSVFMyU4MyU5NSVFMyU4MiVBMSVFMyU4MyVBQyVFMyU4MyVCMyVFMyU4MiVCOSUyOCVFNiU5NyVBNSVFNiU5QyVBQyVFOCVBQSU5RSVFOCVBOCVCMyUzQUdpdExhYiUyMENJJTJGQ0QlMjBQaXBlbGluZSUyMENvbmZpZ3VyYXRpb24lMjBSZWZlcmVuY2UlMjkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTBlMWQwNmI4YzlhNTg3NzZmMmVkMmI0MGY5N2I3Zjgw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5bm90dCZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NDUzMGIyYjhjZTM5MGJlZmZhOTZjNzJjNGZjZjY3MjU%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44K544K_44Kk44Or44K6%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Dca46585494db0ff3709a04eda6aae50e"},"bookmarksCount":42,"siteURL":"qiita.com","url":"https://qiita.com/ynott/items/1ff698868ef85e50f5a1","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/qiita.com/ynott/items/1ff698868ef85e50f5a1","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/qiita.com/ynott","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fqiita.com%2Fynott%2Fitems%2F1ff698868ef85e50f5a1"},{"__typename":"BookmarkEntry","title":"GitLab CIを触って暫くたったので雑な感想 - Webuilder240's Blog","description":"いろいろどっかにGitlabCIについての知見をまとめてたはずなんだけど、なくしてしまったので書くのに時間がかかってしまった。 とりあえずどんな感じなのか雑に眺めたい方もいることなので、雑にまとめた。 Gitlab CI 3行まとめ Gitlab CIはGitLabで使える。CircleCIみたいなもん。最初にちょっとセットアップすれば、Je...","thumbnail":{"__typename":"ResizeableImage","squareImageURL({\"height\":200,\"width\":200})":"https://cdn.image.st-hatena.com/image/square/48249b506d37fa7c5bdc14d9e253394913737b58/height=200;version=1;width=200/https%3A%2F%2Fogimage.blog.st-hatena.com%2F6653458415126534389%2F10328537792363634583%2F1455667082"},"bookmarksCount":38,"siteURL":"webuilder240.hatenablog.com","url":"https://webuilder240.hatenablog.com/entry/2016/02/17/080000","bookmarkCommentsListURL":"https://b.hatena.ne.jp/entry/s/webuilder240.hatenablog.com/entry/2016/02/17/080000","bookmarkSiteEntriesListURL":"https://b.hatena.ne.jp/site/webuilder240.hatenablog.com/","faviconImageURL":"https://cdn-ak2.favicon.st-hatena.com/?url=https%3A%2F%2Fwebuilder240.hatenablog.com%2Fentry%2F2016%2F02%2F17%2F080000"}]}}}}}},"page":"/keyword/_permalink_reborn","query":{"name":"gitlab-ci","fromHatenaBlog":""},"buildId":"JhKcskYYCoyBD75ZWAHgs","assetPrefix":"https://live.blog-tags.st-hatena.com","runtimeConfig":{"KOTOBA_GRAPHQL_ENDPOINT":"https://live.blog-tags.hatenaapis.com/api/graphql","KOTOBA_API_KEY":"Vm6DEwznUvNxxOnvDJZquQjC5cQacmbAW2O8CoZf0Xw="}}</script><script async="" data-next-page="/keyword/_permalink_reborn" src="https://live.blog-tags.st-hatena.com/_next/static/JhKcskYYCoyBD75ZWAHgs/pages/keyword/_permalink_reborn.js"></script><script async="" data-next-page="/_app" src="https://live.blog-tags.st-hatena.com/_next/static/JhKcskYYCoyBD75ZWAHgs/pages/_app.js"></script><script src="https://live.blog-tags.st-hatena.com/_next/static/runtime/webpack-035ac2b14bde147cb4a8.js" async=""></script><script src="https://live.blog-tags.st-hatena.com/_next/static/chunks/commons.d78459f0c3cff869b62b.js" async=""></script><script src="https://live.blog-tags.st-hatena.com/_next/static/runtime/main-389f2d5a5a59288bda75.js" async=""></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10