iT邦幫忙

gitlab-ci相關文章
共有 32 則文章
鐵人賽 DevOps DAY 6

技術 Day06 - GitLab CI 變數還可以怎麼定義?再談 GitLab 各層級變數

上一篇提到了基本 .gitlab-ci.yml 上設定變數的方法,系統已經存在的預存環境變數,也初步提到從外部傳入變數的方法,那麼,在 GitLab CI 中,...

鐵人賽 DevOps DAY 9

技術 Day09 - GitLab CI 流水線上的每個工作都要執行嗎?再談工作執行條件設定

上一篇提到了在 .gitlab-ci.yml 中使用 when 來定義依據前一關卡的執行結果執行這個工作,但 when 這個屬性只能根據之前的關卡來設定什麼時候...

鐵人賽 DevOps DAY 4

技術 Day04 - GitLab CI 設計出自己的工作流程 - 流水線分析建立 .gitlab-ci.yml 概述

在 Day03 提到了最基本的 .gitlab-ci.yml,而 GitLab CI 可遠不止可以完成一個一個的 Job 它至少還可以做些什麼呢?在今天的內容中...

鐵人賽 DevOps DAY 10

技術 Day10 - GitLab CI 流水線上的每個工作都要執行嗎?三談工作執行的條件設定

在前面的兩篇提到了 when、only 及 except 來設定工作的執行條件,在這一篇裡,將要提到 rules 這個在 GitLab 12.3 之後提供的條件...

鐵人賽 DevOps DAY 21

技術 Day21 - GitLab CI 選擇指定的 runner 來承接工作,談標籤 tags

在流水線的進行中,有些時候工作能否被執行,跟執行工作的環境是絕對相依的,以 GitLab.com 提供的免費 GitLab Runner 來說,通常承接工作的...

鐵人賽 DevOps DAY 5

技術 Day05 - GitLab CI 怎麼從外帶入參數到流水線中?談 GitLab 的變數 variable

在之前的幾天,談了怎麼設計 GitLab 的 Pipeline 流程,也談了如何建立各個工作的預設參數,那可以讓某些參數可以透過外部傳入到 Pipeline 裡...

鐵人賽 DevOps DAY 3

技術 Day03 - GitLab CI 的設定檔有哪些結構?談最基本的 .gitlab-ci.yml

在 Day 02 談到 GitLab Server、GitLab CI、Runner Server 及其 GitLab Runner 彼此之間的關係,今天要繼續...

鐵人賽 DevOps DAY 2

技術 Day02 - GitLab CI 是怎麼運作的?談 GitLab 的基本結構

在正式開始談 GitLab CI 前,首先必須要先知道 GitLab 與 GitLab CI 及 GitLab runner 之間的關係。GitLab 提供團隊...

鐵人賽 DevOps DAY 1

技術 Day01 - GitLab CI 玩轉自動化測試與部署 緣起

GitLab 推出至今已許多年,早已成為許多團隊、企業在建立內部原始碼版本控制很重要的夥伴,其 GitLab CI 在建立內部持續整合(Continuous I...

鐵人賽 DevOps DAY 16

技術 Day16 - GitLab CI 如何製作一個其他專案也能用的流水線?談 include 及其特性

在有點規模的團隊中,可能需要有一個專案,專門協助管理可共同的流水線內容,甚至必須要作到,一致的測試流程,那麼在 GitLab CI 中,可以怎麼作到這件事情?...

鐵人賽 DevOps DAY 8

技術 Day08 - GitLab CI 流水線上的每個工作都要執行嗎?談工作執行條件設定

在建立工作流程的流水線時,流水線上的每個工作都要作嗎?我想這不是一定的。像是部署的程序,就會希望在產品開發到一的段落,在特定 Git 分支或上 Git Tag...

鐵人賽 自我挑戰組 DAY 8

技術 [D8] : 利用GitLab CI達成減少Build與Test的成本

這篇目的只是想粗略介紹一下建立一個很簡單的CI,可以算是再講上圖中的Build和Test階段,然後用最少的時間和資源去快速體會一下。(因為最近有點忙 T_T)...

鐵人賽 DevOps DAY 11

技術 Day11 - GitLab CI 工作與工作間的關聯與互動?談有向無環圖與 needs 參數

在 GitLab CI 的流水線關卡設計中,除一個關卡接著一個關卡進行工作外,各個關卡中的工作也是可以與其他關卡的工作有互動的。像是取得前面關卡的工作所產出的工...

鐵人賽 DevOps DAY 7

技術 Day07 - GitLab CI 如何在工作中打包?談產出工作成品 artifact

在上一篇的內容中提到了定義各個層級的變數,其中提到了「工作繼承變數」其原理使用了工作(Job)將要傳遞的變數,寫入環境變數檔案裡頭,而後透過工作成品 artif...

鐵人賽 DevOps DAY 12

技術 Day12 - GitLab CI 工作與工作間的關聯與互動?談工作相依 dependencies 參數

在上一篇,提到了 needs 參數,今天主要要討論的是 dependencies 這個參數,相較於 needs 可以不用等上一個關卡完成關聯的工作就開始執行,d...

鐵人賽 DevOps DAY 25

技術 Day25 - GitLab CI 在特定的環境使用特定變數,談變數管理與 environment

軟體開發的流程中,有些時候,同樣的內容因應開發階段的不同,可能需要在不同的系統上執行,如軟體的部署,在開發階段可能需要部署到開發(Develop)環境,在正式上...

鐵人賽 DevOps DAY 29

技術 Day29 - GitLab CI 如何讓工作流程流水線跑快一點?之三 讓 Runner 執行更快一點

上一篇談到從 .gitlab-ci.yml 開始建立關卡及工作,而後依序分派到工作佇列,等待 GitLab Runner Server 上的 Runner 來承...

鐵人賽 DevOps DAY 22

技術 Day22 - GitLab CI 控制工作終止因素的各種方法,談 retry、timeout

在 GitLab CI 中,流水線上每道關卡每個工作順利執行與否,都是控制著整條流水線如何進行的依據關鍵之一;工作可能因為當下的環境因素無法執行,但重新執行即可...

鐵人賽 DevOps DAY 15

技術 Day15 - GitLab CI 如何整理流水線工作中重複的內容?談 extends 語法

在使用 anchors 來整理重複語法時是否會覺得其語法的「語意」上有一點難懂?正是因為如此,在 GitLab 11.3 之後,因應而生了新的方便整理可重複利用...

鐵人賽 DevOps DAY 24

技術 Day24 - GitLab CI 關於 GitLab Runner 的 Cache 快取設定及快取策略

隨著技術的演進,許多程式語言、框架都開始有了套件相依管理的機制,像 PHP 使用了 Composer,JavaScript、Node.js 由 npm 管理而...

鐵人賽 DevOps DAY 30

技術 Day30-2 - GitLab CI 還可以怎麼重構及整理 .gitlab-ci.yml ?

上一篇舉了一個小例子來說明,一般遇到比較冗長的 .gitlab-ci.yml 大致上可以怎麼思考整理及重構,那麼平常在規劃及設計流水線的時候該怎麼注意呢? 一、...

鐵人賽 DevOps DAY 17

技術 Day17 - GitLab CI 如何讓讓一個工作同時拆成多個工作?談工作並行處理

有些時候在流水線上執行時間需要比較久的工作,如果可以分拆多個工作,讓他們同時進行,可以讓這系列的工作加速執行完成,但直接在 .gitlab-ci.yml 上分組...

鐵人賽 DevOps DAY 28

技術 Day28 - GitLab CI 如何讓工作流程流水線跑快一點?之二 逐一調整

讓 GitLab CI 的工作流程的流水線加速,透過上一篇的大部分解有了思考流程上的脈絡,接下來要開始從每個階段中的工作細節去思考,應該怎麼讓整個流水線再次的加...

鐵人賽 DevOps DAY 14

技術 Day14 - GitLab CI 流水線工作中重複的內容,可以怎麼整理利用?談 hide job、anchor

上一篇介紹了整份 .gitlab-ci.yml 如果有大部分都通用的變數、條件,即可以透過 default、variables 整理,而如果是整段的 scrip...

鐵人賽 DevOps DAY 18

技術 Day18 - GitLab CI 如何透過參數幫忙執行參數不同但內容相同的工作?工作並行陣列

在一般的工作平行化處理中,可以透過 parallel 而起的兩個參數CI_NODE_INDEX 和 CI_NODE_TOTAL 做工作的分頁拆分,但因為參數僅止...

鐵人賽 DevOps DAY 30

技術 Day30-1 - GitLab CI 可以怎麼重構及整理 .gitlab-ci.yml 讓內容更好瞭解?

隨著專案的演進,當團隊導入 GitLab CI 工作流程之後,通常會是陸續的針對專案需要增加更多的流程,而時間一久 .gitlab-ci.yml 的內容就很有可...

鐵人賽 DevOps DAY 19

技術 Day19 - GitLab CI 返璞歸真談工作的核心 .gitlab-ci.yml 的 script

在 GitLab CI 中每個工作 (job) 最重要的區段,大概可以說是 script 的部分,每個工作都必須有 script 的宣告,才能夠運作,整份 .g...

鐵人賽 DevOps DAY 26

技術 Day26 - GitLab CI 啟動其它專案啟動流水線或動態產出新的流水線,談觸發 trigger

在大型專案中,可能會把專案依功能、架構等等因素,切分為多個子專案,雖然切分為多個子專案,有些邏輯可能還是有類似的地方,例如前端或後端的部署可能只有環境變數的不同...

鐵人賽 DevOps DAY 23

技術 Day23 - GitLab CI 新的流水線啟動,已經在執行的流水線工作是否停止?談 interruptible

有些時候,流水線(pipeline)上的系統部署、原始碼打包等工作,可能需要花費大量的時間或系統資源,因此,在這種資源或時間成本相對高的專案上,當流水線上還有工...

鐵人賽 DevOps DAY 20

技術 Day20 - GitLab CI 返璞歸真續談 script 之自訂段落 section

在 GitLab runner 執行工作時,每個工作階段都是可以摺疊的(collapsible)的,一來是方便專注檢查每個階段,也可以透過上面顯示的時間作工作耗...