說(shuō)起途游游戲(Tuyoo Games),也許你不一定熟悉,但提到《途游斗地主》、《胡萊三國(guó)》、《捕魚(yú)大作戰(zhàn)》、《富豪麻將》等多次進(jìn)入了 iOS 暢銷榜的游戲,想必親切感就油然而生了。沒(méi)錯(cuò)!這些作品都是出自途游游戲。
成立于 2013 年的途游游戲,是我國(guó)手游領(lǐng)域較早入局者,至今已服務(wù)全球十余億用戶,集移動(dòng)游戲研發(fā)、運(yùn)營(yíng)、發(fā)行于一體,并擁有多項(xiàng)自主研發(fā)專利和數(shù)字智能技術(shù),是中國(guó)領(lǐng)先的互動(dòng)娛樂(lè)供應(yīng)商。公司當(dāng)前人員規(guī)模超過(guò) 1000 人,其中研發(fā)人員占比 50% 以上,并且連續(xù)多年研發(fā)投入增速超過(guò) 50%。
手游賽道競(jìng)爭(zhēng)激烈,對(duì)持續(xù)迭代升級(jí)提出了高要求。因此,途游游戲十分關(guān)注如何提升研發(fā)效能和軟件質(zhì)量,為玩家提供更好的游戲體驗(yàn)。這既需要平臺(tái)支撐,也需要方法賦能,二者相輔相成。
“一方面,極狐GitLab 作為全球知名一站式 DevOps 平臺(tái),已通過(guò)十余年用戶檢驗(yàn),實(shí)力過(guò)硬;另一方面,極狐GitLab 積累了一套非常成熟的敏捷開(kāi)發(fā)體系,與我們的理念不謀而合。并且,其自身就是敏捷開(kāi)發(fā)理念的樣板工程,它的開(kāi)發(fā)迭代經(jīng)驗(yàn)對(duì)我們有很大的借鑒意義。”途游游戲 CTO 周欣說(shuō)道。
目前,途游游戲在極狐GitLab 上托管了近 800 個(gè)項(xiàng)目,超過(guò) 10000 個(gè) pipeline 和 400 多 G 代碼量級(jí),建立了全方位研發(fā)快速響應(yīng)閉環(huán),從容應(yīng)對(duì)日新月異的市場(chǎng)需求。
途游游戲如何步步為 “贏” ?離不開(kāi)這些落地實(shí)踐。
01
一體化平臺(tái) + Workflow
研發(fā)流程標(biāo)準(zhǔn)化與研發(fā)效率齊飛
之前,途游游戲通過(guò)不同工具來(lái)實(shí)現(xiàn)需求管理、源代碼托管、CI/CD ,需求管理系統(tǒng)和源代碼托管系統(tǒng)分離,導(dǎo)致代碼變更難以和需求管理結(jié)合起來(lái),即:在代碼變更處無(wú)法看到需求的詳細(xì)描述,在需求管理處也無(wú)法看到變更代碼的詳情,增加了人工操作、溝通的成本,有礙于研發(fā)效率提升。
現(xiàn)在,內(nèi)部效能效率團(tuán)隊(duì)將研發(fā)流程“搬”到了極狐GitLab 上。極狐GitLab 一體化特性,提供開(kāi)箱即用的 DevOps 能力,屏蔽了眾多工具鏈的集成、安裝細(xì)節(jié),這讓團(tuán)隊(duì)無(wú)需關(guān)注工具問(wèn)題,可以專注于軟件研發(fā)核心工作。
基于極狐GitLab Workflow,途游游戲?qū)⑿枨蠊芾怼⒋a審核、CI/CD、代碼準(zhǔn)入、單元測(cè)試、安全掃描等流程融合在一起,形成更體系、更規(guī)范的研發(fā)流程。
例如,當(dāng)有需求時(shí),產(chǎn)品經(jīng)理或者需求提出者在極狐GitLab 上創(chuàng)建 issue 對(duì)需求進(jìn)行詳細(xì)描述,然后研發(fā)創(chuàng)建 MR 進(jìn)行變更代碼的提交;每次變更都會(huì)觸發(fā) CI/CD 進(jìn)行構(gòu)建、測(cè)試、掃描。并且,途游游戲?qū)卧獪y(cè)試也集成到了 CI/CD 中,每次 CI/CD 執(zhí)行結(jié)束都會(huì)給出對(duì)應(yīng)的測(cè)試報(bào)告,研發(fā)可以直接在 MR 中根據(jù)結(jié)果來(lái)提升單元測(cè)試覆蓋率。
途游效能效率研發(fā)負(fù)責(zé)人劉勇補(bǔ)充說(shuō):“一般的 CI 工具只會(huì)執(zhí)行在源分支上,但極狐GitLab 有一個(gè)獨(dú)特的功能叫做 Merge Result Pipeline ,它的單元測(cè)試是跑在特性分支和組分支合并之后的代碼上,而不需要進(jìn)行真正的合并,避免在特性分支的開(kāi)發(fā)過(guò)程中,有其他人員搶先一步,在主分支上合并了其他的代碼,而導(dǎo)致你的代碼合并失敗。”
干貨傳送門(mén)
途游游戲 DevOps 實(shí)踐|都說(shuō)「單元測(cè)試」好,「AAAC四步法」少不了
因?yàn)橄嚓P(guān)人員在極狐GitLab 一個(gè)平臺(tái)上進(jìn)行協(xié)作、溝通,效率得到了提升;并在代碼提交推送規(guī)則、分支協(xié)作和保護(hù)策略、合并請(qǐng)求審批規(guī)則等功能支撐下,實(shí)現(xiàn)對(duì)每一行代碼質(zhì)量的把控。
02
Code Review + 單元測(cè)試 + Approve Rule
提升代碼質(zhì)量,打造精品游戲
代碼是任何一個(gè)軟件企業(yè)的核心資產(chǎn)。在使用極狐GitLab 前,途游游戲因?yàn)槿狈线m的工具和流程支撐,Code Review 落地實(shí)踐仍有很大提升空間。為保障代碼質(zhì)量,測(cè)試團(tuán)隊(duì)投入了大量的時(shí)間和精力。
現(xiàn)在,途游游戲使用極狐GitLab Merge Request、Code Review 和 Approve Rule的 “組合拳” 來(lái)提升代碼質(zhì)量。
所有代碼變更以 Merge Request 的形式提交;
通過(guò)在 Merge Request 中指派多個(gè) Reviewer 來(lái)進(jìn)行代碼多人評(píng)審;
評(píng)審?fù)戤呍儆膳渲玫?Approver 來(lái)進(jìn)行 Merge 操作。
這種多人 Review 與多級(jí)審批機(jī)制,讓團(tuán)隊(duì)內(nèi)部對(duì)高質(zhì)量代碼迅速達(dá)成一致認(rèn)知,在同一語(yǔ)言體系下,完成知識(shí)和經(jīng)驗(yàn)傳承,幫助途游游戲打造了一支高水準(zhǔn)的效能效率團(tuán)隊(duì)。
03
方法論 + 樣板工程
相輔相成助益敏捷開(kāi)發(fā)
正如周欣所說(shuō),極狐(GitLab) 作為一體化 DevOps 平臺(tái)開(kāi)發(fā)者,公司本身是敏捷開(kāi)發(fā)與管理的最佳實(shí)踐者。
極狐GitLab 在產(chǎn)品迭代過(guò)程中,沉淀了大量?jī)?yōu)秀文檔和方法論,以開(kāi)源開(kāi)放方式與所有感興趣的伙伴共享;同時(shí)積極實(shí)踐 Dogfooding 文化,即“使用極狐GitLab 研發(fā)極狐GitLab”,做自己的第一批用戶,這有助于第一時(shí)間發(fā)現(xiàn)問(wèn)題,通過(guò) Issue 反饋問(wèn)題和跟進(jìn)改進(jìn)。
途游游戲效能效率團(tuán)隊(duì)是追求卓越、熱愛(ài)鉆研的典型代表。
劉勇表示:“我們團(tuán)隊(duì)成員在推進(jìn)敏捷開(kāi)發(fā)過(guò)程中遇到疑問(wèn),就會(huì)去看極狐GitLab 開(kāi)發(fā)迭代時(shí)記錄下的那些‘痕跡’,看看它的 MR 是怎么描述的、 Issue 如何分類等等,將這些可貴經(jīng)歷與敏捷開(kāi)發(fā)方法論相結(jié)合,給我們很多啟發(fā)和答案,對(duì)于我們?cè)鷮?shí)執(zhí)行敏捷開(kāi)發(fā)有很大的助益。”
劉勇舉例子說(shuō)明途游游戲如何借鑒極狐GitLab 基于多級(jí)標(biāo)簽和里程碑的項(xiàng)目管理實(shí)踐,將 DevOps 扎實(shí)有效進(jìn)行到底:
需求太多?——通過(guò)實(shí)施 Epic、子 Epic 和 Issue 來(lái)對(duì)應(yīng)原始需求任務(wù);
Issue 零散?——靈活自定義方式打標(biāo)簽,區(qū)分不同 Issue;
Issue 分配?——通過(guò)看板進(jìn)行 Issue 管理,建立研發(fā)、測(cè)試、產(chǎn)品團(tuán)隊(duì)視角的看板;
項(xiàng)目跟蹤?——利用里程碑 Milestone 進(jìn)行迭代規(guī)劃與回顧。
隨著我國(guó)移動(dòng)游戲進(jìn)入平穩(wěn)上升的發(fā)展期,玩家對(duì)于游戲質(zhì)量的要求也越來(lái)越高,高質(zhì)量精品化勢(shì)在必行。
“在極狐GitLab 的助力下,我們將不斷提升研發(fā)效能和研發(fā)流程標(biāo)準(zhǔn)化,向用戶玩家交付高質(zhì)量精品化游戲,讓十億玩家,能夠隨時(shí)隨地快樂(lè)一下。”周欣說(shuō),“極狐GitLab 將成為我們打造高質(zhì)量精品游戲的‘最佳輔助’!”
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )