利用 Jenkins 在 AWS 上達到 CI

前言

以下為本篇記錄重點:

  1. 部署 jenkinsAWS EC2Amazon Linux 2 AMI (HVM)
  2. 部署 jenkinsAWS EC2Amazon Linux AMI 2018.03.0 (HVM)
  3. GitHub 上的進度有更新時,自動在 AWS EC2 執行 git pull 並與 GitHub 上的進度同步,

建立 EC2 instance

利用 SSH 連結到 AWS EC2

  • 點擊 Connect ,並遵照指示操作

Amazon Linux 2 AMI (HVM)

安裝

sudo yum install java-1.8.0
sudo yum update -y
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum install jenkins -y

設定

sudo vim /etc/sysconfig/jenkins

並更改如右邊的參數 JENKINS_USER="root"

sudo service jenkins start
sudo systemctl enable jenkins.service
sudo vim /etc/sysconfig/jenkins

在瀏覽器設定 Jenkins

  • 於瀏覽器輸入

    http://yourPublicDNS:8080
  • 於終端機輸入

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • 複製密碼以登入

  • 安裝建議的插件
  • 創立帳號
  • 存檔並登入
  • 到Jenkins管理頁面

  • 安裝GitHub插件

  • 開始一個自由專案

  • 到設定的地方
  • 輸入專案 url

  • 選取 git , 並填入 git 資料夾的 url

  • 勾選 GitHub hook trigger for GITScm polling

  • 輸入客製化的shell script
    如果你的 jenkins 跟你的專案在同一台電腦的話

    ssh -i /root/.ssh/yourKey.pem ec2-user@127.0.0.1 "cd /var/www/html/yourProjectName;git reset @^ --hard;git pull;/usr/local/bin/composer install;php artisan migrate --force;"

設定 GitHub

  • GitHub 的設定頁面
  • 建立一個 webhook ,如下:

Amazon Linux AMI 2018.03.0 (HVM)

安裝

sudo yum update -y
sudo yum remove java-1.7.0-openjdk
sudo yum install java-1.8.0
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum install jenkins -y

設定

sudo vim /etc/sysconfig/jenkins
  • 修改為 JENKINS_USER="root"
sudo service jenkins start
  • 當 Server 重啟時,自動啟動 jenkins
    sudo chkconfig jenkins on

在瀏覽器設定 Jenkins

  • 於瀏覽器輸入

    http://yourPublicDNS:8080
  • 於終端機輸入

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • 複製密碼以登入

  • 安裝建議的插件
  • 創立帳號
  • 存檔並登入
  • Jenkins 管理頁面

  • 安裝 GitHub 插件

  • 開始一個自由專案

  • 到設定的地方
  • 輸入專案url

  • 選取 git , 並填入 git 資料夾的 url

  • 勾選 GitHub hook trigger for GITScm polling

  • 輸入客製化的 shell script
    如果你的 jenkins 跟你的專案在同一台電腦的話

    ssh -i /root/.ssh/yourKey.pem ec2-user@127.0.0.1 "cd /var/www/html/yourProjectName;git reset @^ --hard;git pull;/usr/local/bin/composer install;php artisan migrate --force;"

設定 GitHub

  • 到 GitHub 的設定頁面
  • 建立一個 webhook ,如下:

推錯了Commit該怎麼辦? Git-標注一個版本號碼

留言

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×