安裝java
從Jenkins官網下載最新war文件git
運行 java -jar jenkins.war
運行成功會在用戶我的目錄下新建.jenkins/文件夾
訪問localhost:8080就能到達Jenkins首頁github
第一次須要從文件夾下獲取生成的密碼登陸,複製粘貼web
密碼驗證成功後進入頁面,選擇插件模式shell
我選擇是第一個-建議安裝的插件npm
接下來就是漫長的等待安裝時間。
插件都安裝完成以後進入用戶登陸界面,設定用戶名、密碼及郵箱。windows
注意:之後的登陸名就是 admin 密碼就是從secrets目錄文件下複製的密碼。服務器
配置項目的 jenkins job
一、在 jenkins 左邊欄點擊 「新建」, 輸入 job 名稱,選擇 「構建一個自由風格的軟件項目」 一項。點擊 「OK」dom
二、進入 job 配置頁面,點擊 「General」 選項,配置名稱和描述,咱們用的github項目,那麼勾選github而且填入項目地址ssh
三、點擊 「源碼管理」 選項,配置項目的 git 倉庫地址的須要構建的分支信息
四、點擊 「構建觸發器」 選項,配置 job 構建時機,勾選 「GitHub hook trigger for GITScm polling」,github hook 來觸發 job 構建
五、到github 的該項目下配置hook
六、點擊 「構建」 選項,再點擊 「增長構建步驟」, 選擇 「Execute shell」,配置構建命令。 以下,這裏配置了 cnpm install、npm run unit、npm run build, 分別作安裝依賴、單元測試、編譯打包三件事。
若爲windows服務器
七、點擊 「構建後操做」 選項,添加兩個構建後操做步驟:
「E-mail Notification」,配置構建失敗的郵件通知人; 「Send build artifacts over ssh」, 執行預先寫好的遠程服務器的部署腳本
郵件配置好了,可是卻沒找到‘Send build artifacts over ssh’緣由是咱們沒有安裝插件,到系統管理裏安裝好插件,以下:
執行後報錯,郵件沒法發送,沒有配置SMTP
配置以下:
填寫好後點擊test 測試是否收到郵件。
報錯 找不到 Jenkins.sh
沒有在github上配置jenkins的訪問權限
https://github.com/settings/t...
複製生成的key,回到Jenkins點擊Add按鈕
點擊test connection測試token,
顯示Credentials verified for user xxx, rate limit: xxxx,說明配置完成了,這樣你的Jenkins就具備訪問你的github的權限了。
添加構建後操做,將代碼部署到服務器
配置jenkins服務器 .ssh
Terminal Server@DESKTOP-41JPNF2 MINGW64 ~
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Terminal Server/.ssh/id_rsa):
/c/Users/Terminal Server/.ssh/id_rsa already exists.
Overwrite (y/n)?
Terminal Server@DESKTOP-41JPNF2 MINGW64 ~
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Terminal Server/.ssh/id_rsa):
/c/Users/Terminal Server/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Terminal Server/.ssh/id_rsa.
Your public key has been saved in /c/Users/Terminal Server/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:u0Ega2OlOKv3lXidUcjIIufGOBoQXmccihAQSQT+6IA Terminal Server@DESKTOP-41JPN F2
The key's randomart image is:
+---[RSA 2048]----+
|%* ..+. |
|=.o +o o . |
|.+..+ = o . |
|o oB * . . |
|E.=.X S |
|oo B o + + |
|... . + = |
| .. o o |
|.. .. . |
+----[SHA256]-----+
Terminal Server@DESKTOP-41JPNF2 MINGW64 ~
$ ssh-copy-id web@121.196.197.140
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/c/Users/Terminal Server/.ssh/id_rsa.pub"
The authenticity of host '121.196.197.140 (121.196.197.140)' can't be establishe d.
ECDSA key fingerprint is SHA256:Qr335uKh2MTqQKveq/voVYB9k+2AH9JsyZOvfcNAboM.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompt ed now it is to install the new keys
web@121.196.197.140's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'web@121.196.197.140'"
and check to make sure that only the key(s) you wanted were added.