主頁 >  其他 > Jenkins持續集成git、gitlab、sonarqube(7.0)、nexus,自動化部署實戰,附安裝包

Jenkins持續集成git、gitlab、sonarqube(7.0)、nexus,自動化部署實戰,附安裝包

2020-09-24 23:38:54 其他

導讀

  之前用的都是SVN,由于作業需要用到Git,求人不如求己技多不壓身多學一項技能未來就少求別人一次,系統的學一遍,自己搭建一整套環境,自動化部署(自動發版),代碼質量檢測等等(為啥不用docker搭建環境呢,個人平時比較忙,暫未學習docker,過段時間會學docker相關,也會寫相應博文),為啥要打水印,Wechat上有人告訴我,之前很多博文,被某些網站白嫖,然后掛到自己網站(未來博客上都會打水印),~@¥#%¥@%#@%¥再次宣告,創作不易,嚴禁轉載!!!

踩坑

  從10月12、13(周末)天天搞到夜里2、3點,周一至周五,由于個人原因,付訓份作業,平時也忙,個人精力有限,只能晚上花2、3小時,學習-搭建-踩坑-度娘-搭建-成功,一直到今天,才完整的搭建出來,博客才發出來,安裝程序中,并不是一帆風順的,在此為了避免學習的小朋友踩相同的坑,最好版本和我一致,下面都會有提供我使用的安裝包,那些坑,我已經巧妙的繞開啦,按照我的步驟來,干就完事兒啦,歐力給~

演示環境

  1. mac系統
  2. 虛擬機:Centos 6.5(我分配了4G,2核,配置低了會卡!里面用到ES服務器配置低,服務起不來,ES腦補鏈接:點我直達,磁盤至少分50G,當初我給了20G,最后服務配置太多以后,導致服務跑不起來了)

Git

Git是什么

  Git 是一個開源分布式版本控制系統,用于敏捷高效地處理任何或小或大的專案

  Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放原始碼的版本控制軟體,

  Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟體支持,

Git的安裝

  官網地址:https://git-scm.com/downloads

  不要慌,最下面我會提供我使用的所有安裝包

linux:yum install -y git
mac:自帶的有git
windows:需要自動手動下載,一直下一步即可

安裝git完成

  yum自動下載的git不是最新的,如果想安裝最新的git版本,自行百度查,方法很多滴~由于時間關系,就不帶領小伙伴實操啦,功能都大差不差的,

常用命令

幫助

1、git                       查看git的幫助檔案
2、git --help              查看git的幫助檔案
3、git add --help        查看某個命令的幫助檔案

版本號

生產空的本地倉庫

將檔案添加暫存區

提交

初次commit之前,需要配置用戶郵箱及用戶名

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

git commit:將暫存區的檔案提交到本地倉庫

遠程倉庫

echo "# git-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin https://github.com/543210188/git-test.git
git push -u origin master

推送

git push -u origin master:往名字為origin的倉庫的master分支上提交變更

拉取

1、git fetch       拉取遠程倉庫的變更到本地倉庫
2、git merge origin/master    將遠程的變更,合并到本地倉庫的master分支

3、上面2個命令等價于 git pull

取消添加

git rm --cache 1.txt
注意:如果只是:git rm --cache,僅洗掉暫存區里的檔案
如果不加--cache,會洗掉作業區里的檔案,并提交到暫存區

恢復檔案

1、git checkout master 檔案名

注:直接加檔案名,從暫存區將檔案恢復到作業區,如果作業區已經有該檔案,則會覆寫

加了[分支名]+檔案名,表示從分支名為所寫的分支名中拉取檔案,并覆寫作業區里的檔案

git檔案狀態

git status  查看git的狀態

git圖形化客戶端

官網:https://www.sourcetreeapp.com/ 

 

 

拉取代碼

分支

  軟體專案中啟動一套單獨開發路線的方法,可以避免版本兼容開發問題,避免不同版本影響,封裝一個開發階段,解決bug的時候新建分支,用于對該bug的研究,

創建分支&查看分支

創建分支:git branch 分支名
查看分支:git branch
注:列出所有的分支,分支前面有*號,代表當前所在那個分支

洗掉分支

洗掉:git branch -d 分支名
注:不能洗掉當前所在的分支

修改分支名

修改分支名:git branch -m 舊分支名 新分支名

開發v2.0版本分支(切換分支并推送到github)

切換分支:git checkout 分支名
注:如果在分支上面對檔案進行修改之后,沒有commit就切換到另外一個分支,是不允許的,必須commit之后,才能切換分支

強制切換分支:git checkout -f 分支名
注:強制切換分支,如果有未提交的變更,直接丟棄

查看歷史

查看提交歷史:git log
查看最近2次的提交:git log -2
查看最近2次提交差異:git log -p -2
查看某個人提交的代碼:git log --author 作者
顯示簡要的資訊:git log --oneline
整個提交歷史:git log --graph

代碼對比

作用

  1. 解決沖突
  2. 制作補丁
比較作業區跟暫存區的差異:git diff
比較暫存區與分支差異:git diff --cached 或者 --staged
跟當前分支比較:git diff HEAD
比較當前分支與另外一個分支差異:git diff 分支名
查看兩個分支的差異(針對已提交):git diff 分支名1 分支名2
查看單純的一個檔案差異:git diff 檔案名
查看兩次不同提交差異:git diff commitid_1 commitid_2
查看有變更的檔案:git diff --stat

git更改提交 

用途

  1. 將暫存區中不必要的檔案移除
  2. 版本回滾
  3. 只修改提交的摘要資訊
把暫存區中的檔案移除出來_1:git reset HEAD 檔案名 
把暫存區中的檔案移除出來_2:git reset HEAD^
修改暫存區中的摘要資訊(需要重新提交git commit -m "test"):git reset --soft HEAD^
丟失修改過的代碼(重置代碼):git reset --hard HEAD^

分支合并沖突

分支合并(拿指定的分支名與當前分支進行合并):git merge 分支名

 

 

沖突解決

合并分支:git merge 分支名
查看沖突檔案(重要):git diff --name-only --diff-filter=U

  注:視情況,是只要master的代碼還是v2.0(分支)代碼,我這里處理是要2邊的代碼, 

標簽

打上標簽(給最近的打上標簽):git tag 標簽名
給指定的提交打上標簽(git log獲取commitid值,也就是獲取提交的版本):git tag 標簽名 commitid
顯示標簽(以字母序,非時間):git tag
顯示該標簽提交的那次相關資訊:git show 標簽名
洗掉標簽(不會洗掉那次提交):git tag -d 標簽名
將標簽推送到遠程服務器上(標簽必須存在):git push origin 分支名 標簽名
洗掉遠程服務器上的標簽:
1、洗掉本地的標簽:git tag -d 標簽名
2、洗掉遠程的:git push origin :refs/tags/標簽名

 

gitignore檔案 

用途

  1. 忽略不必要的檔案 

1、創建gitignore檔案:touch .gitignore
2、在.gitignore添加忽略的目錄:
target
.idea


.log:表示忽略專案中所有以.log結尾的檔案
123?.log:表示忽略專案中所有以123加任意字符的檔案 
/error.log:表示忽略專案中根目錄中的error.log 這個檔案 
src/main/test/:表示忽略/src/main/test/目錄下的所有檔案
*.class **/java/:匹配所有java目錄下的所有檔案
!/error.log:表示在之前的匹配規則下,被命中的檔案,可以使用!對前面的規則進行否定
如果專案已經推送到遠程服務器中,可通過這種方式洗掉
1、先洗掉本地暫存區檔案(git rm -rf --cache target/):git rm -rf --cache 目錄名
2、提交:git commit -m "洗掉本地暫存區"
3、推送:git push

Gitlab

簡介

  GitLab 是一個用于倉庫管理系統的開源專案,使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務,安裝方法是參考GitLab在GitHub上的Wiki頁面,

為什么要使用gitlab? 

  1. 基礎功能開源,可自行搭建
  2. 可以進行權限控制,使代碼對部分人可見

安裝gitlab(Centos6.5)

目錄結構及說明

/etc/gitlab/gitlab.rb          #gitlab組態檔
/opt/gitlab                    #gitlab的程式安裝目錄
/var/opt/gitlab                #gitlab目錄資料目錄
/var/opt/gitlab/git-data       #存放倉庫資料
gitlab-ctl reconfigure         #重新加載配置
gitlab-ctl status              #查看當前gitlab所有服務運行狀態
gitlab-ctl stop                #停止gitlab服務
gitlab-ctl stop nginx          #單獨停止某個服務
gitlab-ctl tail                #查看所有服務的日志

Gitlab的服務構成:
nginx:                 靜態web服務器
gitlab-workhorse        輕量級反向代理服務器
logrotate              日志檔案管理工具
postgresql             資料庫
redis                  快取資料庫
sidekiq                用于在后臺執行佇列任務(異步執行)

官網

官網:https://about.gitlab.com/

國內鏡像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

在線下載及安裝

yum install -y curl policycoreutils-python openssh-server        #安裝依賴
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-13.1.11-ce.0.el6.x86_64.rpm --no-check-certificate  #centos6.5
rpm -ivh gitlab-ce-13.1.11-ce.0.el6.x86_64.rpm # 安裝包gitlab
sudo service postfix start
sudo chkconfig postfix on

linux其他版本安裝方式

  centos其他版本下載包方式,當然啦,也可以先把包下載到本地,然后在丟到linux,執行安裝效果是一樣的

修改對外開放域名或ip

vim /etc/gitlab/gitlab.rb

打開后有一行 external_url 的設定改成要對外開放 web 的 url ,
例如我可以指定 git.chenyanbin.com
只想內部使用也可以改成 http://192.168.199.199:8888 這樣的內部IP地址.

配置生效:gitlab-ctl reconfigure
重啟:gitlab-ctl restart
設定防火墻埠(防火墻已全部關閉的話,可忽略):vim /etc/sysconfig/iptables

啟動gitlab

sudo gitlab-ctl reconfigure
sudo lokkit -s http -s ssh
停止gitlab:gitlab-ctl stop
重啟gitlab:gitlab-ctl start

登錄

  注:第一次登錄時,需要設定初始密碼,然后用root+密碼登錄即可

創建專案并推送到gitlab

  本地新建一個專案并用git,將檔案夾推送到gitlab上,

郵件服務

作用

  1. 有合并請求時,郵件通知
  2. 賬號注冊時,郵件驗證
  3. 修改密碼時,通過郵件修改

步驟

  1. 開啟QQ郵箱的smtp服務
  2. 修改gitlab配置
  3. 測驗郵件服務是否正常

gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.qq.com" 
gitlab_rails['smtp_port'] = 465 
gitlab_rails['smtp_user_name'] = "[email protected]" 
gitlab_rails['smtp_password'] = "郵箱隨機字串" 
gitlab_rails['smtp_domain'] = "qq.com" 
gitlab_rails['smtp_authentication'] = "login" 
gitlab_rails['smtp_enable_starttls_auto'] = true 
gitlab_rails['smtp_tls'] = true 
user['git_user_email'] = "[email protected]" 
gitlab_rails['gitlab_email_from'] = '[email protected]'
重啟組態檔:gitlab-ctl reconfigure
重啟服務:gitlab-ctl restart

 測驗郵件

gitlab-rails console
Notify.test_email('[email protected]','郵件測驗','博客地址:https://www.cnblogs.com/chenyanbin/').deliver_now

賬號注冊和分組

用戶注冊(未開啟郵箱檢驗)

  缺點:隨便添加賬戶,亂注冊,不符合企業管理標準

用戶注冊(郵箱校驗)

  開啟校驗并真實郵箱注冊

創建組并邀請成員(配置過郵件服務,會郵件提醒)

訪問權限

  1. private:只有組成員才能看到
  2. Internal:只要登錄的用戶就能看到
  3. Public:所有人都能看到

組權限

  1. Guest:可以創建issue、發表評論,不能讀寫版本庫
  2. Reporter:可以克隆代碼,不能提交
  3. Developer(推薦):可以克隆代碼、開發、提交、push
  4. Master:可以創建專案、添加tag、保護分支、添加專案成員、編輯專案
  5. Owner:可以設定專案訪問權限 - Visibility Level、洗掉專案、遷移專案、管理組成員

生成隨機密鑰

ssh-keygen -t rsa

分支及標簽保護

為什么要保護分支?

  保護特定的分支不被隨便合并,以免影響相應的分支

  自己部署好gitlab,然后賦予賬戶權限,體驗下就好

注:能push就能merge,相應的權限自我控制(master分支設定只能master可以合并), 

第二種方式合并請求

敏捷持續集成

簡介

  持續集成是一種軟體開發實踐,即團隊開發成員經常集成他們的作業,通過每個成員每天至少集成一次,也就意味著每天可能會發生多次集成,每次集成都通過自動化的構建(包括編譯,發布,自動化測驗)來驗證,從而盡早地發現集成錯誤,

好處

  1. 節省人力成本
  2. 加快軟體開發進度
  3. 實時交付

重要組件

  1. git
  2. gitlab
  3. Jenkins:持續集成引擎
  4. maven:構建
  5. sonarqube:代碼質量管理
  6. JDK
  7. Tomcat

jdk和maven安裝

jdk安裝:點我直達

maven安裝:點我直達

nexus私服安裝

官網:點我直達

  下面百度云盤也會提供喲~

解壓

tar -zxvf nexus-3.27.0-03-unix.tar.gz -C /usr/local

修改啟動埠號

vim /usr/local/nexus-3.27.0-03/etc/nexus-default.properties

 

開啟防火墻埠

  注:因為我本地沒有使用8081埠,所以默認埠可以使用,但是防火墻埠記得開放喲~ 

vim /etc/sysconfig/iptables

 

重啟防火墻

service iptables restart

啟動nexus

  注意:jdk版本必須得1.8!!!nexus版本不同,可能需要的jdk版本不同

nexus不推薦使用root用戶啟動(可忽略)

也可以自己手動創建個用戶,然后加入到組,賦予權限,步驟如下
1、useradd nexus
2、chown -R nexus:nexus xxxx/xxxx/nexus-3.27xxx/
3、chown -R nexus:nexus xxxx/xxxx/sonatype-work/ 4、su nexus 5、./nexus start

踩了個坑

 

小技巧

  注:./nexus start,啟動完成之后,查看nexus是否啟動:ps aux|grep nexus,若沒有啟動的話,可以使用:./nexus run;此時啟動專案就會提示哪里出錯啦~

訪問

  注:點擊右上角登錄,默認賬號密碼:admin/admin123;從nexus3.17以后,默認密碼改為隨機的了,檔案路徑在:/usr/local/sonatype-work/nexus3/admin.password里!!!

 

修改最大檔案數(默認1024)

 

 

  注:記得重啟!!!

設定nexus開機自啟動

 vim /etc/rc.d/rc.local 

nexus安裝及使用

專案maven大概程序分析

設定maven的setting.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <pluginGroups/>
    <proxies/>
    <servers>
        <server>
            <id>ybchen-releases</id>
            <username>admin</username>
            <password>admin</password>
        </server>
        <server>
            <id>ybchen-snapshots</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>
    <mirrors/>
    <profiles>
        <profile>
            <id>ybchen</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation> <!-- 私有庫地址-->
            <repositories>
                <repository>
                    <id>ybchen</id>
                    <url>http://192.168.199.199:8088/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories> <!--插件庫地址-->
            <pluginRepositories>
                <pluginRepository>
                    <id>ybchen</id>
                    <url>http://192.168.199.199:8088/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>ybchen</activeProfile>
    </activeProfiles>
</settings>

設定nexus的代理地址,并添加到組中

  阿里云地址:http://maven.aliyun.com/nexus/content/groups/public/ 

測驗

  本地庫,我已經清空,所有下載的都會先去nexus看看,沒有的話,才會走阿里云代理上下載,然后還會下載到nexus,  

將本地jar上傳至nexus

 

<distributionManagement>
    <repository>
        <id>ybchen-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://xxx.xxx.xxx.xxx:port/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>ybchen-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://xxxx.xxxx.xxx.xxx:port/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

安裝mysql

點我直達

代碼質量管理平臺sonarQube安裝及使用

前置條件

  • mysql 5.6 | 5.7
  • jdk1.8

 我使用的是7.0,版本要求:點我直達

下載地址:點我直達

官網

點我直達

安裝

1、依賴:yum install unzip -y
2、解壓:unzip sonarqube-7.0.zip 
3、移動:mv sonarqube-7.0 /usr/local/
4、切換: cd /usr/local/
5、登錄mysql:mysql -u root -p
6、創建庫:CREATE DATABASE sonar DEFAULT CHARACTER SET utf8;
7、退出mysql:exit
8、進入sonarqube:cd sonarqube-7.0/conf/

修改配置

vim sonar.properties
主要配置以下內容
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.host=0.0.0.0
sonar.web.context=/sonar
sonar.web.port=9000

 

啟動

useradd sonar
chown -R sonar:sonar /usr/local/sonarqube-7.0
su sonar
cd /usr/local/sonarqube-7.0/bin/linux-x86-64/
./sonar.sh start

訪問

  記得開放防火墻埠:9000,賬號/密碼:admin/admin

漢化

  安裝完,重啟服務再次打開網頁即可

sonar7.0的中文包,網頁在線安裝不上,我是去github上下載,手動安裝的,按照以下幾步即可,下面我也會提供,我直接下載的是jar包,原始碼包還得編碼(因為我懶)
1. 在https://github.com/SonarCommunity/sonar-l10n-zh,下載漢化包原始碼;
2. 本地打包,cmd里面,在解壓包里面運行: mvn install 
3. 將打好的jar包,放到: sonarqube/extensions/plugins  目錄先;
4. 重啟sonar,即可

  具體操作如下,github地址:點我直達

使用

settings.xml
============================
<?xml version="1.0" encoding="UTF-8"?>
<settings
    xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <pluginGroups></pluginGroups>
    <proxies></proxies>
    <servers></servers>
    <mirrors>
        <!--maven代理開始-->
        <mirror>
            <id>huaweicloud</id>
            <mirrorOf>*,!HuaweiCloudSDK</mirrorOf>
            <url>https://mirrors.huaweicloud.com/repository/maven/</url>
        </mirror>
        <mirror>
            <id>aliyun</id>
            <name>aliyun Maven</name>
            <mirrorOf>*,!HuaweiCloudSDK</mirrorOf>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
        <!--maven代理結束-->
    </mirrors>
    <profiles>
        <!--sonar配置開始-->
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <sonar.jdbc.url>jdbc:mysql://192.168.199.199:3306/sonar?useUnicode=true&amp;characterEncoding=utf8</sonar.jdbc.url>
                <sonar.jdbc.username>root</sonar.jdbc.username>
                <sonar.jdbc.password>root</sonar.jdbc.password>
                <sonar.host.url>http://192.168.199.199:9000/sonar</sonar.host.url>
            </properties>
        </profile>
        <!--sonar配置結束-->
    </profiles>
</settings>
git init
mvn clean install
mvn sonar:sonar

Jenkins

安裝

前置條件

  1. JDK(jdk8);安裝:點我直達
  2. tomcat(tomcat9);安裝:點我直達

jenkins下載:點我直達

 

將jenkins放到tomcat中

 

問題排查(重要)

  1. 查看tomcat是否啟動
  2. 查看埠8080是否開啟:netstat -tlun
  3. 查看防火墻埠是否開啟,記得重啟防火墻
  4. 查看tomcat日志:/var/soft/apache-tomcat-9.0.38/logs/catalina.out

 

  注:可以看到,地址被占用了!

修改tomcat的埠號,我這里修改為:9999,記得防火墻!!!

 

訪問

 

 

安裝推薦組件

 

創建用戶名密碼

 

實體配置

 

登錄

插件安裝及配置

系統配置

  1. jdk
  2. maven
  3. sonarqube
  4. 郵件
  5. gitlab授權
  6. 免密登錄
配置jdk和maven

配置郵件

配置sonarqube

繼續到全域配置里設定sonarqube

授權登錄

生成密鑰
yum -y install openssh-clients
ssh-keygen -t rsa

 

生成的key放到gitlab

more ~/.ssh/id_rsa.pub

創建專案

  注:git方式拉代碼,直接不報紅,代表搭建成功

jenkins手動發版測驗

linux創建目錄
1、cd /
2、mkdir springboot_demo

jenkins配置

clean install

mv target/*.jar /springboot_demo/
cd /springboot_demo
BUILD_ID= java -jar spring-boot-demo-0.0.1-SNAPSHOT.jar >log 2>&1 &
clean install

mv target/*.jar /springboot_demo/
cd /springboot_demo
BUILD_ID= java -jar spring-boot-demo-0.0.1-SNAPSHOT.jar >log 2>&1 &

整合sonar然后發布

  剛開始的時候sonarqube里面沒有專案隨著代碼的重新發布,會將專案也提交到sonarqube中

#projectKey專案的唯一標識,不能重復
sonar.projectKey=yb
sonar.projectName=springboot-test
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.modules=java-module
# Java module 
java-module.sonar.projectName=test 
java-module.sonar.language=java 
# .表示projectBaseDir指定的目錄 
java-module.sonar.sources=src 
java-module.sonar.projectBaseDir=. 
java-module.sonar.java.binaries=target/

提交后自動發布

功能描述

  本地代碼修改完成之后,往gitlab上推代碼,然后Jenkins自動打包發版程式,不用人工手動發版,

安裝插件(gitlab)

  裝完插件后,虛擬機上的磁盤滿了,導致服務起不來,今天先到這吧,不搞這玩意了(明天要搞其他東西,搭建這一整套東西,惡心我幾百回了,處處坑~),自行去找度娘吧,只需要簡單配置2步就好,前面服務都全部搭建出來了,這個因為linux磁盤滿了,懶得搞了,有點小遺憾,拜~

 

安裝包

 

鏈接: https://pan.baidu.com/s/1OixJ3oHvjEjKLtvuvplclA  密碼: fbqs

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/121911.html

標籤:其他

上一篇:go snmp trap

下一篇:冷月手撕408之作業系統(11)-死鎖

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more