顯示具有 proxy 標籤的文章。 顯示所有文章
顯示具有 proxy 標籤的文章。 顯示所有文章

2020年9月16日 星期三

[AWS] AWS CI/CD 動手做 - Travis CI - 2

 接續上一篇AWS CI/CD 動手做 - Travis CI - 1 的內容

我們繼續做後面的步驟

7. 新增 .travis.yaml 到 GitHub Project 上面

(上一篇有給yaml的範例,可直接copy來用)

8. 新增 .travis.yaml to github repo

  • 更改 .travis.yaml 內的 bucket name
  • 更改 .travis.yaml 內的 access key
  • 更改 .travis.yaml 內的 secret access key
  • 加密 travis encrypt aws secret access key
  • 加密 travis encrypt SOMEVAR="secretvalue" --add               

(加密此travis.yaml用的,後面是密碼,前面是項次,因為裡面有aws 的key,如果不加密很快就會被其他人拿來利用)

9. 在Repo根目錄建立appspec.yml

(編輯yml檔,格式務必正確,盡量不要使用tab)

version: 0.0

os: linux

files:

    - source: /                           #置於Repo的根目錄下,要進行CI/CD的來源目錄

    destination: /cd_squid           #置於On-Premise下,被進行CI/CD的目的來源

    hooks:       #下方設定為CI/CD期間所要進行之動作

    AfterInstall:

    - location: scripts/after_install.sh

    timeout: 60

    runas: root

    ApplicationStart:

     - location: scripts/application_start.sh

     timeout: 60

      runas: root

     ValidateService:

     - location: scripts/validate_service.sh

     timeout: 60

runas: root

***************************************************************************

下一個篇就會開始講CD的了,前面就是所有CI的流程建置

統整一下:透過Github 把Code 放在上面,透過Travis CI 去推Code

然後CI過的話就會把Code先存一份在Aws S3 bucket上面備份

在進行CD的後續流程

2020年7月7日 星期二

[AWS] AWS CI/CD 動手做 - Travis CI - 1

最近在公司接觸了CI/CD的服務部屬,但是因為是直接接手別人建好的服務
想說趁機趁還有印象時快點把SOP寫起來,這樣也是加深自己的印象
也可以提供一些如果想把地端服務做CI/CD的MIS可以做參考
這邊會是以在地端有Linux Service要做CI/CD著手

何謂 CICD ,其實講的比較簡單一點就是將上程式的流程自動化,自動 build code、執行 unit test、自動更新線上服務...所有反覆步驟都轉為自動化執行

CI(Continuous integration),即是「持續整合」

CD(Continuous Deployment),即是「持續佈署」


本篇會使用的版控工具為 GitHub
使用 Travis CI 作為版控的串接服務,因為Travis CI 只能跟GitHub做串接
Trvais CI的解釋 可參考Miles大神的介紹,述小弟不在贅述
儲存相關設定的會在 aws S3 Bucket
這邊地端服務會以常見的Squid Proxy Service 作為Demo
使用的Liunx版本為Ubuntu 18.04 TLS


1.  首先在 GitHub 上面開啟一個 Private Project
(補充:
如果不會使用GitHub可參考這篇)


2.  Download Project 到本機桌面


3.  使用Git 的相關指令來確認是否跟GitHub Project有互通

  •  git add .
  •  git commit -m "xxx"
  •  git push
  •  git pull 


4. 新建一個 AWS S3 bucket,盡量可以跟 Github Project的名字一樣

(補充:為什麼需要使用S3呢,因為S3是用來儲存你所需要部屬的程式或是設定檔,讓Travis CI打包檔案丟上來用的空間)


5. 建立一個 IAM User  Travis CI,盡量可以跟 Github Project 的名字一樣,比較好辨識

(補充:為什麼要給Travis CI一個權限呢,因為Travis CI需要去觸發Codedeploy去接續後續的的部屬流程以及需要把打包好的東西丟至S3 Bucket上,所以需要開權限)


6. IAM User 權限 給他 “AmazonS3FullAccess” 就好


7. 新增 .travis.yaml 到 GitHub Project 上面


"後面會再繼續寫步驟,這只是一開始而已,沒這麼簡單"


#####以下是 .travis.yaml的範例#####


language: python

python:

- '2.7'

services:

- docker

before_install:

- chmod +x tests/*.sh

install:

- docker build -t "GitHub Project Name"/squid .

- docker run -di --name squid "GitHub Project Name"/squid

script:

- docker exec -it squid /tests/test_config.sh

- docker exec -it squid /tests/test_service.sh

notifications:

  email:

    recipients:

    - your-email

    on_success: change

    on_failure: always

  slack:

   

before_deploy:

- zip -r latest-${TRAVIS_BUILD_NUMBER}.zip *

- mkdir -p "GitHub Project Name"

- mv latest-${TRAVIS_BUILD_NUMBER}.zip "GitHub Project Name"/latest-${TRAVIS_BUILD_NUMBER}.zip

deploy:

- provider: s3

  access_key_id: "KEY"

  secret_access_key: "KEY"

  bucket: "GitHub Project Name-bucket"

  skip_cleanup: true

  local_dir: "GitHub Project Name"

  region: your aws region

  on:

    branch: master


2019年4月9日 星期二

[Linux] Git Proxy setting

Configure Git to use a proxy

有些公司都會鎖定Proxy,所以像你要yum install 或是git curl 等等
都需要指定proxy,這邊教大家如何設定git 的 proxy

git config --global http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
git config --global http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
git config --global http.https://domain.com.sslVerify false
這邊也可以直接使用vim 來編輯 

vim ~/.gitconfig

[http]
        proxy = http://proxyUsername:proxyPassword@proxy.server.com:port






2017年10月22日 星期日

[Linux] 透過proxy連外的設定方式

Linux 透過proxy連外的設定方式
一 RHEL(Fedora,centos應該也差不多)
1.CMD方式
暫時生效
# export http_proxy=http://username:password@"Proxy IP":port
# export ftp_proxy=http://username:passord@"Proxy IP":port
//其中如果proxy server不須要帳密,就只要打http://"Proxy IP":port即可

永久生效
# vim ~/.bashrc   //將上面兩行export加入即可
# source ~/.bashrc

YUM更新
# vim /etc/yum.conf   //加入

proxy=http://username:passord@"Proxy IP":port