如何解決GitHub Actions在Ubuntu 18.04上啟動失敗問題

金木大大大發表於2023-11-21

在GitHub Actions中,使用Ubuntu 18.04的執行器在啟動時可能會失敗,因為該影像已被移除。這可能會導致一系列問題,其中之一是由於SSLError而導致測試失敗。這篇文章將向您介紹如何解決這個問題,確保您的GitHub Actions能夠順利執行。


為瞭解決GitHub Actions在Ubuntu 18.04上啟動失敗的問題,有幾種可行的解決方案。以下是一些可能的方法:


### 1. 更換執行器版本


GitHub Actions支援多個不同版本的執行器,其中包括不同版本的Ubuntu。如果您的工作流程依賴於特定版本的Ubuntu執行器,而該版本已被移除,您可以嘗試切換到其他版本的執行器,例如Ubuntu 20.04。要更改執行器版本,請編輯您的GitHub Actions工作流程檔案(通常是`.github/workflows`目錄下的YAML檔案),並在`runs-on`欄位中指定所需的Ubuntu版本。


例如,如果您想使用Ubuntu 20.04執行器,可以這樣配置:


```yaml

jobs:

  build:

    runs-on: ubuntu-20.04

```


這將使您的工作流程在Ubuntu 20.04上執行,而不會受到Ubuntu 18.04映象被移除的影響。


### 2. 升級requests庫版本


如果您的問題與SSLError有關,可能是因為您的程式碼依賴於較舊版本的requests庫,而該庫中的SSL問題已在後續版本中修復。在這種情況下,您可以嘗試升級到requests庫的最新版本,以確保SSL問題得到解決。


您可以透過在您的GitHub Actions工作流程中執行以下步驟來升級requests庫:


```yaml

jobs:

  build:

    runs-on: ubuntu-20.04

    steps:

      - name: Set up Python

        uses: actions/setup-python@v2

        with:

          python-version: 3.x  # 指定所需的Python版本


      - name: Install dependencies

        run: pip install --upgrade requests


      # 接下來執行您的其他構建步驟

```


這將在Ubuntu 20.04執行器上安裝最新版本的requests庫,以解決與SSL相關的問題。


### 3. 使用自定義Docker映象


另一種解決方法是建立自定義的Docker映象,其中包含您的專案所需的所有軟體和依賴項。這樣,即使官方的Ubuntu映象被移除,也不會影響到GitHub Actions的執行。以下是一些步驟來建立和使用自定義Docker映象:


#### 步驟1:建立Dockerfile


首先,您需要建立一個Dockerfile,其中包含構建您自定義映象所需的指令。以下是一個示例Dockerfile的簡化版本:


```Dockerfile

FROM ubuntu:20.04


# 安裝所需的軟體和依賴項

RUN apt-get update && apt-get install -y \

    # 安裝您的依賴項

    && apt-get clean \

    && rm -rf /var/lib/apt/lists/*


# 設定工作目錄

WORKDIR /app


# 複製您的專案檔案到映象中

COPY . /app


# 設定執行入口(例如,執行您的應用程式或測試)

CMD ["/app/your_entry_script.sh"]

```


#### 步驟2:構建Docker映象


使用以下命令在本地構建Docker映象:


```bash

docker build -t my-custom-image .

```


#### 步驟3:在GitHub Actions中使用自定義映象


在您的GitHub Actions工作流程中,可以使用您剛剛建立的自定義映象。例如:


```yaml

jobs:

  build:

    runs-on: ubuntu-latest

    container:

      image: my-custom-image:latest  # 指定您的自定義映象

```


這將使GitHub Actions使用您的自定義Docker映象來執行工作流程,而不受Ubuntu 18.04映象被移除的影響。


## 總結


解決GitHub Actions在Ubuntu 18.04上啟動失敗的問題可以透過更換執行器版本、升級requests庫版本或使用自定義的Docker映象來實現。選擇合適的解決方法取決於您的專案和需求。透過採取這些措施,您可以確保GitHub Actions在不受干擾的情況下順利執行,提高開發效率和持續整合的可靠性。希望本文對您有所幫助!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70032566/viewspace-2996299/,如需轉載,請註明出處,否則將追究法律責任。

相關文章