如何做交接工作
背景介紹
由於有個軟件開發人員離職,爲了能夠繼續下面的開發工作,跟他一起做了一次交接。爲了今後在交接上能夠少踩坑,把這次交接的工作過程做了一個記錄,以便今後備查。
大致思路
軟件開發與其他崗位的交接有所不同,但思路都差不多。
1、要交接的工作分類整理,比如整理一個項目目錄;
2、是把每個項目裏涉及的代碼、配置、文檔、使用等整理清楚;
3、按照每個項目對其中的細節進行過濾,搞懂一些核心邏輯的算法和思路;
4、可以對某些項目進行一些演練或者模擬修改,看看是否可以獨立完成;
5、與離職人員進行人性化溝通,爲今後出了問題再次請求協助,打下伏筆;
項目目錄
如何修改微服務
- 首先整理需要微服務項目的pom.xml,舊有的pom文件如下:
<groupId>com.ldjr</groupId>
<artifactId>weixin-exam</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>weixin-exam</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
改成如下格式:
<groupId>com.ldjr</groupId>
<artifactId>ldmicro-exam</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>ldmicro-exam</name>
<description>ldmicro-exam</description>
<parent>
<groupId>com.ldjr</groupId>
<artifactId>ldmicro4spring-cloud</artifactId>
<version>1.0.0</version>
</parent>
- 用Refactor重新命名項目文件,以符合微服務的命名規範
- 在微服務的總pom文件增加module,如下:
<modules>
<module>ldmicro-server</module>
<module>ldmicro-config</module>
<module>ldmicro-zipkin</module>
<module>ldmicro-api</module>
<module>ldmicro-service</module>
<module>ldmicro-web</module>
<module>ldmicro-itapps</module>
<module>ldmicro-sso</module>
<module>ldmicro-gateway</module>
<module>ldmicro-hystrix</module>
<module>ldmicro-admin</module>
<module>ldmicro-knowledge</module>
<module>ldmicro-exam</module>
<module>ldmicro-exam-admin</module>
</modules>
- 將之前兩個項目文件夾改名,並在文件瀏覽器中移入微服務的統一目錄中去。
- 將剛纔的文件在eclipse裏面重新引入,如下圖的時候,就成功了。
七牛雲對接
考慮到七牛雲的CDN比較專業,在微信端開發中,所有涉及到圖片,視頻等靜態資源都放入了七牛雲。
主要涉及兩個方法:
- /ueditor
- /upload
一個配置:ueditor.properties
主要涉及到七牛雲參數,editor參數
一個文件:storemanager.java 處理文件上傳
微信平臺單獨發佈
思路:可以做多個Jenkins,分爲三個層次,基礎服務(註冊中心+配置中心),網關服務(service+sso+gateway),應用服務(報修+雲課堂+信息發佈+知識庫+評測)
下面以單獨發佈報修爲例:
- 生成並上傳容器
- docker stop 容器Id
- docker run -itd 容器及端口
- docker exec -it 容器 /bin/bash 進入容器
- java -JAR jar包名稱 啓動服務
- 測試服務
招聘題測平臺
考試步驟:
- 設置好試卷
- 設置應聘人員,招聘組設置應聘人員,招聘組
- 進行考試
- 後臺評價
微信內部測試平臺
發佈步驟:
- 啓動Jenkins,admin/大12,端口8081
- 打開Gitlab,hehui/大12,端口80
- 打開Nexus,admin/admin123,端口8083
啓動步驟: - 啓動redis:systemctrl start redis
- 啓動ngnix:systemctrl start ngnix
- 啓動mysql:默認已啓動
- 啓動docker:systemctrl start docker
- 啓動註冊及配置服務:/usr/local/docker-compose -f /root/docker-compose.yml up -d
- 啓動基礎應用服務: /usr/local/docker-compose -f /root/docker-compose2.yml up -d
- 啓動應用服務:/usr/local/docker-compose -f /root/docker-compose1.yml up -d
合同號管理
問題:新增了分公司,但是無法從OA進行公司和人員的同步;
解決:
- 首先要在OA裏增加子公司
- 然後在工程項目的配置文件裏進行新增子公司Id的新增
// config.properties
subcompanyId=52,53 //這裏的Id需要與OA中的子公司保持一致
- 找相關部門確定此部門的編碼
- 在系統組織結構中配置此編碼
微信平臺發送管理
- 首先admin登陸hr這個子域名;
- 進入角色管理,將用戶加入到==微信推送(全體員工)這個角色,並將用戶從微信推送(特殊中層)==這個角色中移除即可。
- 上述==微信推送(全體員工)==這樣的標籤,是在企業微信的後臺進行配置的,需要手機登錄才能進入後臺管理界面。
- 由於這些標籤寫在了代碼和配置文件中,所以無法進行微信標籤的新增,只能就原有的標籤進行變通的修改。
- 所有已定義的標籤(有哪些人),在對應項目的配置文件中,都是以tagId的方式定義,例如:
// 已有的標籤
qywx.daily.tagId=52 //每日早報
qywx.it.tagId=56 //新員工
qywx.gkw.tagId=63 //互貸審批
// 需要統一爲標籤和tagId,不再用如下代碼
it.qywx.repairId=zhangsan|lisi|
微信平臺涉及微服務列表
gateway1 | ||||
---|---|---|---|---|
admin2 | itapp3 | web4 | knowlege5 | sso6 |
service7 | api8 | |||
hystrix9 | ||||
server10 | config11 | zipkin12 |
UML圖
七牛雲報修圖片上傳
七牛雲推文發佈
微信審批
合同號公司同步
合同號用戶創建
微信羣發
- 企業號裏,部門的Id只能通過API讀取
- 標籤的Id可以通過查看標籤讀取
- 只有在發送界面裏,纔會涉及到微信的標籤,並且已經在代碼裏寫死了特殊標籤的顯示判斷