在前面已經完成git和gitlab的相關操做java
1. 什麼是持續集成: 持續集成是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。 2. 好處: 節省人力成本 加快軟件開發進度 實時交付 3. 總體流程 成員經過git提交代碼--》持續集成引擎來去代碼並使用構建工具自動構建--》發佈項目 4. 重要組成部分: git : 版本管理 gitlab : 遠程倉庫 jenkins 持續集成引擎 maven 構建工具 sonarqube 代碼質量管理 junit 自動執行單元測試 JDK Tomcat 幾個war--》微服務架構
1. 版本說明: * jdk1.8(目前大部分公司內部使用的仍是JDK8,大部分依賴java的工具或框架,對JDK8的支持度是最好的) * maven3.5.3 2. 將下載好的jdk跟maven上傳到服務器上(jdk的安裝能夠參考linux命令) 3. jdk的安裝 解壓jdk到/usr/local/ tar -zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ 配置環境變量 vim /etc/profile 在最下面,按i進入insert模式,添加一下內容 JAVA_HOME=/usr/local/jdk1.8.0_91 export JAVA_HOME CLASSPATH=.:$JAVA_HOME/lib export CLASSPATH PATH=$PATH:$JAVA_HOME/bin:$CLASSPATH export PATH 按esc進入命令行模式,再按:wq保存退出 激活配置 source /etc/profile 5. maven的安裝 解壓: tar -zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/ 配置: vim /etc/profile MAVEN_HOME=/usr/local/apache-maven-3.5.3 export MAVEN_HOME PATH=$PATH:$MAVEN_HOME/bin export PATH 按esc進入命令行模式,再按:wq保存退出 激活配置 source /etc/profile
1. 上傳到服務器 2. 解壓:tar -zxvf nexus-3.12.1-01-unix.tar.gz -C /usr/local/ 3. 修改配置文件(文件在安裝目錄的etc下): vim /usr/local/nexus-3.12.1-01/etc/nexus-default.properties 修改對應的端口:默認是8081,沒有使用的就能夠不用修改 修改防火牆 vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -ACCEPT 重啓防火牆: service iptables restart 4. 進入bin目錄進行啓動: ./nexus start (若是是root用戶啓動會有提示不建議使用root用戶) 5. 關閉nexus服務: ps aux | grep nexus kill 進程號 6. 新建用戶: useradd nexus chown -R nexus:nexus /usr/local/nexus-3.12.1-01 (本身的目錄,解壓出來有兩個文件夾,兩個文件夾的權限都要給該用戶) su nexus(若是出現bash-4.2$,就使用su root切換回root用戶,使用cp -a /etc/skel/. /home/nexus以後再切換用戶) 使用cd命令進入nexus的bin目錄,使用./nexus start執行就好。 7. 經過 ps aux | grep nexus 能夠查看nexus是否真正啓動, 若是沒有,可使用 ./nexus run來查看沒有啓動的問題(錯誤信息) 8. 訪問: 在本地使用 ip:8081 進行訪問,若是能夠正常訪問,就安裝成功(默認的帳戶是admin,密碼是admin123),進行登陸. 9. 使用root帳戶進入到bin目錄下,修改上傳的文件大小,使用 ulimit -a能夠看到open file是1024,將他增長到65536,使用 vi /etc/security/limits.conf,在倒數第二行添加兩行: * soft nofile 65536 * hard nofile 65536 10. 修改nexus自啓動: vi /etc/rc.d/rc.local,添加一行: su - nexus -c '/usr/local/software/nexus/nexus-3.12.1-01/bin/nexus start' 11. 切換回nexus帳戶: su nexus,使用./nexus restart 從新啓動
1. 倉庫的類型: * proxy: 代理倉庫,主要代理遠程的倉庫,私服和遠程倉庫之間的鏈接 * group: 倉庫組,一般包含了多個代理倉庫和宿主倉庫,在項目中只要引入倉庫組就能夠下載到代理倉庫和宿主倉庫中的包 * hosted:宿主倉庫,內部項目、付費jar 1. releases 發佈內部release版本的倉庫 2. snapshots 發佈內部snapshots版本的倉庫 3. third 自建第三方jar 2. 新建 * 點擊設置,就是小齒輪那個標籤 * 點擊左側導航的Repositories * 點擊create repository * 選擇 maven hosted,輸入字段(maven-third),點擊create完成 3. 配置本地的maven(家目錄下的.m2,沒找到,就去maven_home下的setting),修改maven的setting文件 * 在servers標籤內配置遠程私服的帳號和密碼: <server> <id>xdclass-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>xdclass-snapshots</id> <username>admin</username> <password>admin123</password> </server> * 在<profiles>中配置私有庫和插件庫的地址(地址指向私服的group地址): <profile> <id>xdclass</id> <activation> <activeByDefault>false</activeByDefault> </activation> <!-- 私有庫地址--> <repositories> <repository> <id>xdclass</id> <url>http://192.168.88.128:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <!--插件庫地址--> <pluginRepositories> <pluginRepository> <id>xdclass</id> <url>http://192.168.88.128:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> * 新加標籤在setting結束標籤以前加上下面代理,用來激活配置 <activeProfiles> <activeProfile>xdclass</activeProfile> </activeProfiles> * 修改私服上的代理地址,將代理地址改成阿里雲的: http://maven.aliyun.com/nexus/content/groups/public 4. 上傳本地項目到私服,在maven項目的pom.xml中進行配置: <!--pom.xml 遠程倉庫的配置 id要跟本地maven的setting.xml相同 --> <distributionManagement> <repository> <id>xdclass-releases</id> <name>Wangzhi Release Repository</name> <url>http://192.168.88.128:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>xdclass-snapshots</id> <name>Wangzhi Snapshot Repository</name> <url>http://192.168.88.128:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> 5. 點擊deploy就能夠發佈了 6. 上傳第三方jar包到私服: * 選擇私服的upload,選擇上傳到哪一個?通常選擇本身新建的. * 選項的填寫: 1. file : 選擇本地的第三方jar 2. extension: 是什麼jar包,也就是後綴名 3. group id : com.xdclass 4. artifact id : wiggin 5. version: 1.0 6. 選中generate a pom那一行,點擊upload就能夠了 7. 本地項目的引用按照上面填寫的引用就能夠
linux下安裝mysql的方式 yum 安裝簡單 自行編譯安裝 自由 mysql下載 http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17.tar.gz 編譯安裝mysql 1.解壓 tar -zxvf mysql-5.7.17.tar.gz 2.安裝相應的依賴 yum install make cmake gcc gcc-c++ bison bison-devel ncurses ncurses-devel autoconf automake wget 3.下載boost mkdir /usr/local/boost wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz --no-check-certificate 4.添加用戶並建立相應目錄存放數據 useradd mysql cd /home/mysql/ mkdir data logs temp chown -R mysql:mysql data logs temp 4.執行cmake cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/home/mysql/data \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_BOOST=/usr/local/boost 5.編譯安裝 make 進行編譯 make install 安裝 6.修改mysql安裝目錄權限 chown -R mysql:mysql /usr/local/mysql 7.初始化mysql mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data 產生密碼 eqK:iH;+S6dC 8.刪除/etc下的my.cnf rm /etc/my.cnf 9.複製服務啓動腳本 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 10.啓動 MySQL 服務: service mysql start 11.設置mysql服務開機自啓動 chkconfig mysql on 12.登錄mysql並設置可遠程登錄 mysql -u root -p 回車 粘貼初始化時產生的臨時密碼 eqK:iH;+S6dC GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xdclass' WITH GRANT OPTION;此時不讓改,提示要先設置下密碼 SET PASSWORD = PASSWORD('xdclass'); ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; flush privileges; exit; 從新登錄,使用剛剛設置的密碼 mysql -u root -p 登錄完成以後,便可設置容許遠程登錄 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xdclass' WITH GRANT OPTION; 13.開啓防火牆端口 vim /etc/sysconfig/iptables 加入 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 14.使用鏈接工具測試遠程鏈接
前置依賴 mysql 5.6 or 5.7 jdk 1.8 1.下載 https://www.sonarqube.org/ 2.安裝unzip並解壓sonarqube並移動到/usr/local yum install unzip unzip sonarqube-6.7.4.zip mv sonarqube-6.7.4 /usr/local/ 3.mysql裏新增數據庫 CREATE DATABASE sonar DEFAULT CHARACTER SET utf8; 4.修改sonarqube相應的配置(下面的配置都是在原來的配置中找見進行修改) vim /usr/local/sonarqube-6.7.4/conf/sonar.properties sonar.jdbc.username=root sonar.jdbc.password=wiggin sonar.jdbc.url=改爲步驟3建立的庫名 sonar.web.context=/sonar sonar.web.host=0.0.0.0 5.新增用戶,並將目錄所屬權賦予該用戶 useradd sonar chown -R sonar:sonar sonarqube-6.7.4/ 6.啓動 su soanr /usr/local/sonarqube-6.7.4/bin/linux-x86-64/sonar.sh start (可能會啓動失敗,能夠查看 logs下的日誌文件來查看失敗緣由) 7.界面訪問 http://192.168.56.101:9000/sonar 開啓防火牆 firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --reload 8. 進行登陸: 默認的帳戶名和密碼都是admin,登陸成功以後須要生成token(8e8d2ede68954ddf387e50efb24a140f0e3ff7d4) 在界面產生令牌,並將項目代碼使用如下命令進行提交由sonarqube進行分析,完成後,查看相應的分析結果 mvn sonar:sonar \ -Dsonar.host.url=http://192.168.88.128:9000/sonar \ -Dsonar.login=8e8d2ede68954ddf387e50efb24a140f0e3ff7d4 在項目的根目錄,使用git bash命令,將上面3行放入git bash命令行中運行,就能夠build success
安裝tomcat 1. 安裝tomcat(建立用戶操做tomcat) useradd tomcat 新建用戶 passwd tomcat 修改密碼(密碼不能過於簡單)--Mypwd123456$ 2. 使用root命令進行解壓tomcat 3. 將解壓的目錄的權限給tomcat用戶: chown -R tomcat:tomcat apache-tomcat-9.0.12 安裝Jenkins(基於Java開發的一種持續集成工具,用於監控持續重複的工做,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。) 1. 下載 https://jenkins.io/download/ 下載長期支持的war包(通用) 2. 將下載的war包上傳到安裝的tomcat的webapps目錄下 3. 將jenkins的war包操做權限給tomcat用戶 chown tomcat:tomcat jenkins.war 4. 啓動tomcat 進入bin目錄, ./startup.sh 5. 配置防火牆 firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload 6. 不能訪問查看日誌: 進入logs目錄, more catalina.out能夠看到端口已經被使用,關閉tomcat,使用netstat -tlun能夠看到8080端口還在被使用,使用netstat -tlunp | grep 8080.能夠看到哪一個程序佔用了80端口,發現是與gitlab相關,因此修改tomcat的端口號. 7. 修改端口號: 進入tomcat的conf目錄,修改server.xml,找到8080端口,將端口修改成9999,從新進入bin目錄進行啓動,可使用netstat -tlun查看到9999端口已經啓動 8. 防火牆 firewall-cmd --zone=public --add-port=9999/tcp --permanent firewall-cmd --reload 9. 就能夠在本機訪問了: 訪問 http://192.168.88.128:9999/jenkins 就能夠進行安裝jenkins了,會提示到某一個目錄下去查找密碼,使用 more + 目錄就能夠進行查看了,複製內容,進行操做就好 10. 安裝(若是出現離線問題) 離線解決: 訪問 http://192.168.56.101:9999/jenkins/pluginManager/advanced 目錄,拉到最底下,將https--》改爲http,以後提交,重啓tomcat, 再次訪問就能夠進行安裝了,默認安裝就好. 11. 建立管理員用戶: 用戶名: wangzhi 密碼 : nrblwbb7 全名 : wangzhi 電子郵件: 2585700076@qq.com 點擊保存並完成就好 12. 發現一片空白,重啓tomcat.而後再次訪問,就能夠了