Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 知乎專欄 | 視頻教程 | About

Netkiller Project 手札

Software engineering platform, Integrated SCM & Project Management, Version Control System

Continuous Integration & Delivery

Mr. Neo Chan, 陳景峯(BG7NYT)



中國廣東省深圳市望海路半島城邦三期
518067
+86 13113668890


MMDVM Hotspot:

YSF80337 - CN China 1 - W24166/TG46001
BM_China_46001 - DMR Radio ID 4600441

$Date: 2013-04-10 15:03:49 +0800 (Wed, 10 Apr 2013) $

2009-12-12

版權聲明

轉載請與作者聯繫,轉載時請務必標明文章原始出處和作者信息及本聲明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信訂閲號 netkiller-ebook (微信掃瞄二維碼)
QQ:13721218 請註明“讀者”
QQ群:128659835 請註明“讀者”

內容摘要

本文檔講述Linux系統涵蓋了系統管理與配置包括:

[注意]對初學Linux的愛好者忠告

玩Linux最忌reboot(重新啟動)這是windows玩家壞習慣

Linux只要接上電源你就不要再想用reboot,shutdown,halt,poweroff命令,Linux系統和應用軟件一般備有reload,reconfigure,restart/start/stop...不需要安裝軟件或配置伺服器後使用reboot重新引導計算機

在Linux系統裡SIGHUP信號被定義為刷新配置檔案,有些程序沒有提供reload參數,你可以給進程發送HUP信號,讓它刷新配置檔案,而不用restart.通過pkill,killall,kill 都可以發送HUP信號例如: pkill -HUP httpd

我的系列文檔:

操作系統

Netkiller Linux 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札
Netkiller Security 手札 Netkiller Web 手札 Netkiller Monitoring 手札
Netkiller Storage 手札 Netkiller Mail 手札 Netkiller Virtualization 手札

以下文檔停止更新合併到 《Netkiller Linux 手札》

Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller Multimedia 手札    

目錄

1. 自述
1.1. 系列文檔
1.2. 作者簡介
1.3. 寫給讀者
1.4. 如何獲得文檔
1.4.1. 下載 Netkiller 手札 (epub,kindle,chm,pdf)
1.4.2. 鏡像下載
1.4.3. 克隆 github 倉庫
1.4.4. Yum 下載文檔
1.5. 打賞(Donations)
1.5.1. 微信(Wechat)
1.5.2. 支付寶(Alipay)
1.5.3. PayPal Donations
1.5.4. 銀行(Bank)
1.6. 聯繫方式
1. TRAC
1.1. Ubuntu 安裝
1.1.1. source code
1.1.2. easy_install
1.1.3. Apache httpd
1.2. CentOS 安裝
1.2.1. trac.ini
1.2.2. standalone
1.2.3. Using Authentication
1.2.4. trac-admin
1.2.4.1. Permissions
1.2.4.2. Resync
1.3. Project Environment
1.3.1. Sqlite
1.3.2. MySQL
1.3.3. Plugin
1.3.3.1. AccountManagerPlugin
1.3.3.2. Subtickets
1.4. trac.ini
1.4.1. repository
1.4.2. attachment 附件配置
1.5. trac-admin
1.5.1. adduser script
1.6. FAQ
1.6.1. TracError: Cannot load Python bindings for MySQL
1.7. Apache Bloodhound
2. Gitlab 項目管理
2.1. GitLab
2.1.1. Yum 安裝 GitLab
2.1.2. Docker 方式安裝 Gitlab
2.1.3. GitLab Runner
2.1.4. 用戶管理
2.1.5. 組管理
2.1.6. 項目管理
2.1.7. 綁定SSL證書
2.1.8. FAQ
2.1.8.1. gitolite 向 gitlab 遷移
2.1.8.2. 修改主機名
2.2. 創建用戶
2.3. 創建組與項目
2.4. 分支管理
2.5. Issue
2.5.1. Milestones 里程碑
2.5.2. Labels 標籤
2.6. 代碼審查
2.7. 合併
2.8. WebHook
2.9. CI / CD
2.9.1. GitLab Runner
2.9.1.1. Install GitLab Runner
2.9.1.2. Registering Runners
2.9.1.3. /etc/gitlab-runner/config.toml
2.9.2. 配置 CI / CD
2.9.3. Pipeline
2.9.3.1. cache
2.9.3.2. before_script
2.9.3.3. stages
2.9.3.4. services
2.9.4. Java
2.9.5. vue.js android
3. Redmine
3.1. CentOS 安裝
3.2. Redmine 運行
3.3. 插件
3.3.1. workflow
4. TUTOS
5. Open Source Requirements Management Tool
6. Jenkins
6.1. 安裝 Jenkins
6.1.1. OSCM 一鍵安裝
6.1.2. Mac
6.1.3. CentOS
6.1.4. Ubuntu
6.1.5. Docker
6.1.6. Minikube
6.2. 配置 Jenkins
6.3. Jenkinsfile
6.3.1. Jenkinsfile - Declarative Pipeline
6.3.1.1. stages
6.3.1.2. script
6.3.1.3. junit
6.3.1.4. withEnv
6.3.1.5. parameters
6.3.1.6. options
6.3.1.7. triggers
6.3.1.8. tools
6.3.1.9. post
6.3.1.10. when 條件判斷
6.3.1.11. 拋出錯誤
6.3.1.12. withCredentials
6.3.1.12.1. token
6.3.1.13. withMaven
6.3.1.14. isUnix() 判斷操作系統類型
6.3.1.15. Jenkins pipeline 中使用 sshpass 實現 scp, ssh 遠程運行
6.3.1.15.1. 後台運行
6.3.2. Jenkinsfile - Scripted Pipeline
6.3.2.1. git
6.3.2.2. 切換 JDK 版本
6.3.2.3. groovy
6.3.2.4. Groovy code
6.3.2.4.1. Groovy 函數
6.3.2.5. Ansi Color
6.3.2.6. 寫檔案操作
6.3.2.7. modules 實現模組
6.3.2.8. docker
6.3.2.9. input
6.3.2.10. if 條件判斷
6.3.2.11. Docker
6.3.2.12. conditionalSteps
6.3.2.13. nexus
6.3.3. 設置環境變數
6.3.3.1. 系統環境變數
6.3.4. agent
6.3.4.1. label
6.3.4.2. docker
6.3.4.2.1. 指定docker 鏡像
6.3.4.2.2. args 參數
6.3.4.2.3. Docker outside of Docker (DooD)
6.3.4.2.4. 掛在宿主主機目錄
6.3.4.2.5. 構建鏡像
6.3.4.3. Dockerfile
6.3.5. Steps
6.3.5.1. parallel 平行執行
6.3.5.2. echo
6.3.5.3. catchError 捕獲錯誤
6.3.5.4. 睡眠
6.3.5.5. 限制執行時間
6.3.5.6. 時間截
6.3.6. 版本控制
6.3.6.1. checkout
6.3.6.2. Git
6.3.7. 節點與過程
6.3.7.1. sh
6.3.7.2. Windows 批處理腳本
6.3.7.3. 分配工作空間
6.3.7.4. node
6.3.8. 工作區
6.3.8.1. 變更目錄
6.3.8.2. 判斷檔案是否存在
6.3.8.3. 分配工作區
6.3.8.4. 清理工作區
6.3.8.5. 遞歸刪除目錄
6.3.8.6. 寫檔案
6.3.8.7. 讀檔案
6.4. Jenkins Job DSL / Plugin
6.5. Jenkins Plugin
6.5.1. Blue Ocean
6.5.2. Locale Plugin (國際化插件)
6.5.3. github-plugin 插件
6.5.4. Docker
6.5.4.1. 設置 Docker 主機和代理
6.5.4.2. 持久化
6.5.5. JaCoCo
6.5.5.1. Pipeline
6.5.6. SSH Pipeline Steps
6.5.7. Rancher
6.5.8. Kubernetes 插件
6.5.8.1. Kubernetes
6.5.8.2. Kubernetes :: Pipeline :: Kubernetes Steps
6.5.8.3. Kubernetes Continuous Deploy
6.5.8.4. Kubernetes Cli
6.5.9. HTTP Request Plugin
6.5.10. Skip Certificate Check plugin
6.5.11. Android Sign Plugin
6.6. Jenkinsfile Pipeline Example
6.6.1. Maven 子模組範例
6.6.2. 使用指定鏡像構建
6.6.3. 命令行製作 Docker 鏡像
6.6.4. Yarn
6.6.5. Android
7. SonarQube
8. Phabricator - an open source, software engineering platform
9. Gerrit
10. TeamCity
I. 軟件版本控制
11. Git - Fast Version Control System
11.1. Repositories 倉庫管理
11.1.1. initial setup
11.1.2. checkout
11.1.3. Creating and Commiting
11.1.4. Manager remote
11.1.5. Status
11.1.6. Diff
11.1.6.1. --name-only 僅顯示檔案名
11.1.7. Cloning
11.1.8. Push
11.1.9. Pull
11.1.10. fetch
11.1.11. Creating a Patch
11.1.12. reset
11.2. Manipulating branches
11.2.1. list branches
11.2.2. create branches
11.2.3. delete branches
11.2.4. switch branch
11.2.5. git-show-branch - Show branches and their commits
11.3. Sharing Repositories with others
11.3.1. Setting up a git server
11.3.2. 修改 origin
11.3.3. 刪除 origin
11.4. Submodule 子模組
11.4.1. 添加模組
11.4.2. checkout 子模組
11.4.3. 刪除子模組
11.5. Git Large File Storage
11.5.1. 安裝 LFS 支持
11.5.2. LFS lock
11.6. command
11.6.1. hash-object
11.6.2. git-add - Add file contents to the index
11.6.3. git-status - Show the working tree status
11.6.4. git-commit - Record changes to the repository
11.6.5. git-show - Show various types of objects
11.6.6. git-checkout - Checkout and switch to a branch
11.6.6.1. checkout master
11.6.6.2. checkout branch
11.6.7. git config
11.6.8. git log
11.7. git-daemon 伺服器
11.7.1. git-daemon - A really simple server for git repositories
11.7.2. git-daemon-sysvinit
11.7.3. inet.conf / xinetd 方式啟動
11.7.4. git-daemon-run
11.7.5. Testing
11.8. git config
11.8.1. core.sshCommand
11.8.2. fatal: The remote end hung up unexpectedly
11.8.3. 忽略 SSL 檢查
11.9. git-svn - Bidirectional operation between a single Subversion branch and git
11.10. .gitignore
11.11. .gitattributes
11.11.1. SVN Keywords
11.12. gitolite - SSH-based gatekeeper for git repositories
11.12.1. gitolite-admin
11.12.1.1. gitolite.conf
11.12.1.1.1. staff
11.12.1.1.2. repo
11.13. Web Tools
11.13.1. viewgit
11.14. FAQ
11.14.1. 導出最後一次修改過的檔案
11.14.2. 導出指定版本區間修改過的檔案
11.14.3. 回撤提交
11.14.4. 每個項目一個證書
12. Subversion
12.1. Invoking the Server
12.1.1. Installing
12.1.1.1. Ubuntu
12.1.1.2. CentOS 5
12.1.1.2.1. classic Unix-like xinetd daemon
12.1.1.2.2. WebDav
12.1.1.2.3. 項目目錄結構
12.1.1.3. CentOS 6
12.1.2. standalone “daemon” process
12.1.2.1. starting subversion for debian/ubuntu
12.1.2.2. starting subversion daemon script for CentOS/Radhat
12.1.3. classic Unix-like inetd daemon
12.1.4. hooks
12.1.4.1. post-commit
12.1.5. WebDav
12.1.5.1. davfs2 - mount a WebDAV resource as a regular file system
12.2. repository 管理
12.2.1. create repository
12.2.2. user admin
12.2.3. authz
12.2.4. dump
12.3. 使用Subversion
12.3.1. Initialized empty subversion repository for project
12.3.2. ignore
12.3.3. 關鍵字替換
12.3.4. lock 加鎖/ unlock 解鎖
12.3.5. import
12.3.6. export 指定版本
12.3.7. 修訂版本關鍵字
12.3.8. 恢復舊版本
12.4. branch
12.4.1. create
12.4.2. remove
12.4.3. switch
12.4.4. merge
12.4.5. relocate
12.5. FAQ
12.5.1. 遞歸添加檔案
12.5.2. 清除項目裡的所有.svn目錄
12.5.3. color diff
12.5.4. cvs2svn
12.5.5. Macromedia Dreamweaver MX 2004 + WebDAV +Subversion
12.5.6. 指定用戶名與密碼
13. cvs - Concurrent Versions System
13.1. installation
13.1.1. chroot
13.2. cvs login | logout
13.3. cvs import
13.4. cvs checkout
13.5. cvs update
13.6. cvs add
13.7. cvs status
13.8. cvs commit
13.9. cvs remove
13.10. cvs log
13.11. cvs annotate
13.12. cvs diff
13.13. rename file
13.14. revision
13.15. cvs export
13.16. cvs release
13.17. branch
13.17.1. milestone
13.17.2. patch branch
13.18. keywords
14. Miscellaneous
14.1. 代碼託管
14.1.1. sourceforge.net
14.1.1.1. http://netkiller.users.sourceforge.net/ 頁面
14.1.2. Google Code
14.1.3. GitHub
14.1.3.1. 首次操作
14.1.3.2. clone 已經存在的倉庫
14.2. GUI
14.2.1. TortoiseSVN
14.2.2. TortoiseGit
14.3. Browser interface for CVS and SVN version control repositories

範例清單

6.1. Shell Docker 示例
12.1. authz

1. Nexus Repository OSS

https://www.sonatype.com/download-oss-sonatype

	
wget https://www.sonatype.com/oss-thank-you-tar.gz	
	
	

1.1. 安裝 Nexus

1.1.1. Docker

			
docker run -d -p 8081:8081 --restart=always --name nexus sonatype/nexus3			
			
			

1.2. Nexus UI

http://localhost:8081/ 登陸用戶名 admin 預設密碼 admin123

1.3. maven 設置

maven在settings.xml中配置如下,下次maven就會通過訪問電腦上的私服來獲取jar包

		
<mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:8081/repository/maven-public/</url>
    </mirror>
</mirrors>
		
		

1.4. Node.js

輸入命令登陸遠程倉庫

		
npm login --registry=http://nexus.netkiller.cn/repository/npm/		
		
		

在項目中輸入

		
npm pack	
		
		

上傳

		
npm publish --registry=http://nexus.netkiller.cn/repository/npm/		
		
		

1.5. Ruby

安裝 nexus 包

		
$ gem install nexus		
		
		

打包

		
gem build project.gemspec
		
		

上傳,系統會提示上傳URL

		
gem nexus project-1.0.0.gem