Gitlab CI/CD 之 scp 複製檔案

Gitlab CI/CD 之 scp 複製檔案

更新於 發佈於 閱讀時間約 2 分鐘
raw-image

前言

大家好上次教 Gitlab CI/CD 如何撰寫 CI/CD 腳本,使用 ssh 自動連線目標主機,很受到大家關注,在這裡先跟大家說一聲謝謝,以後會繼續做有意義的文章給各位,今天要教大家如何使用 scp 這個使令,將我們的檔案複製到目標主機,並進行佈署動作,我們之後會使用 Docker Compose 來對我們的 Docker Image 與 Docker Container 進行更新

scp 功能

scp 指令是可以將我們的檔案複製到另一端伺服器,這個指令功能也跟 ssh 很像,需要有公鑰與私鑰,由於我們已經在上次 ssh 連線篇章有建立過公鑰與私鑰,所以不需要再額外創建

scp 指令使用

scp 指令使用,如果是複製檔案,在下面輸入這樣指令,即可將資料複製到目標主機

scp [本地端檔案路徑] [伺服器使用者名稱]@[伺服器 IP]:[複製到哪個路徑]

如果是要資料夾裡面的資料都複製進去,只要加一個 -r 這個指令,即可將資料複製到目標主機

scp -r [本地端檔案路徑] [伺服器使用者名稱]@[伺服器 IP]:[複製到哪個路徑]

撰寫 CI/CD 腳本

接下來我們來撰寫 CI/CD 腳本,來練習將我們檔案複製到另一台伺服器,在這裡我已經事先寫好 Docker Compose

raw-image

以下我們開始撰寫 CI/CD 腳本

image: mcr.microsoft.com/dotnet/sdk:6.0

stages:
- deploy

deploy-to-development:
stage: deploy
tags:
- shell
before_script:
- eval $(ssh-agent -s)
- ssh-add <(echo "$SERVER_PRIVATE_KEY")
script:
- ssh -o StrictHostKeyChecking=no $SERVER_USER_NAME@$SERVER_URL "
mkdir -p ~/DotNetCoreWebApiCiAndCdCourse"
- scp -o StrictHostKeyChecking=no ./docker-compose.yml $SERVER_USER_NAME@$SERVER_URL:~/DotNetCoreWebApiCiAndCdCourse

接下來把我們寫好的 CI/CD 腳本,上傳到 Gitlab 運行 CI/CD,可以發現我們運行成功,將檔案複製到另一台伺服器

raw-image

再去查看我們的伺服器,可以確定我們確實有成功將檔案複製到伺服器裡面

raw-image
avatar-img
Tim Bai的沙龍
10會員
49內容數
d3.js 圖形
留言
avatar-img
留言分享你的想法!
Tim Bai的沙龍 的其他內容
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
前言 大家好上次我們教了如何下載 Docker Image 使用,今天我們要教如何產出自己的 Image,這次會使用一個 Dockerfile 範例,自行打包 Docker Image,初步練習使用 Docker 指令 下載 Dockerfile 教學檔案 在這裡我已經幫忙寫好一個 Docke
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
前言 大家好上次我們教了如何下載 Docker Image 使用,今天我們要教如何產出自己的 Image,這次會使用一個 Dockerfile 範例,自行打包 Docker Image,初步練習使用 Docker 指令 下載 Dockerfile 教學檔案 在這裡我已經幫忙寫好一個 Docke