分支van de代码
分支van de代码
Er zijn vele manieren om范在项目甚至codewijzigingen te organiseren de工作流。低平火山口直接威尔德Git主分支在直接在多彩的nemen探测器testen de beste waarschijnlijk不行。
Testen gaat不行alleen在单位——functionele Testen, het gaat书在het controleren锄de applicatie zich gedraagt productiegegevens会面。Als的jij jouw利益相关者de applicatie kunnen testen在河畔dezelfde国家als eindgebruikers opgeleverd zal危险,dat甚至groot voordeel丹。Het maakt dat我vertrouwen菅直人deployen会面。Het voordeel komt在Het bijzonder合计zijn雷希特wanneer niet-technische mensen nieuwe特性kunnen valideren服务员。
Om het eenvoudig te houden zullen我们de volgende stappen al ons颂歌在de Git主分支blijven多恩。低平火山口变迟我们皇后区kijken锄het eventueel本书赌注菅直人。
Het特征这个范甚至Git工作流
即使mogelijke工作流het creeren van甚至分支/ nieuwe functie错误修复。说eenvoudig en高效。
这个分支
De工作流begint遇到het aanmaken van甚至Git分支:
1
美元git分支- d sessions-in-db | |真正的
1
美元git checkout - b sessions-in-db
说特种兵maakt甚至sessions-in-db
河畔分支vanuit德主
分支。Het maakt甚至afsplitsing van de de infrastructuurconfiguratie代码。
Sessies opslaan de数据库中
Zoals我misschien - op基础van de branchnaam geraden hebt, willen我们de会话存储overschakelen van het文件系统naar甚至数据库(在说geval onze PostgreSQL数据库)。
De stappen死nodig zijn om het te realiseren zijn logisch:
- 河畔Maak甚至Git分支;
- 颂歌de Symob娱乐下载fony-configuratie bij印度nodig;
- Schrijf en /更新窟代码印度nodig;
- 如果需要更新PHP配置(比如添加PostgreSQL PHP扩展);
- 平台更新de infrastructuur op码头工人。sh印度nodig (voeg bijvoorbeeld de PostgreSQL-service脚趾);
- Lokaal testen;
- 远程testen;
- 合并de分支遇到德主分支;
- Deployen naar效果;
- Verwijder de分支。
Verander德session.handler_id
configuratie en verwijs naar de数据库DSN om sessies de数据库op te slaan:
1 2 3 4 5 6 7 8 9 10 11
- - - / config /包/ framework.yaml+ + + b / config /包/ framework.yaml@@ 7,7 + 7,7 @@框架:#使会话的支持。注意,会议才会开始如果你读或写。#删除或注释本节明确禁用会话的支持。会话:- handler_id:零+ handler_id: ' % env (DATABASE_URL) % 'cookie_secure:汽车cookie_samesite:宽松storage_factory_id: session.storage.factory.native
我们moeten甚至会话
tabel toevoegen om de gegevens在op te slaan de数据库。说多恩我们migratie middels甚至学说:
1
美元ob娱乐下载symfony控制台:迁移
Wijzig het bestand en voeg de代码脚趾om de数据库tabel te creeren de()
方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
- - - /迁移/ Version00000000000000.php+ + + b /迁移/ Version00000000000000.php@@ -21年6 + 21日14 @@最终类Version00000000000000延伸AbstractMigration{/ /这个()迁移是自动生成的,请修改它来满足您的需求+ $ this - > addSql ('+创建表会话(+ sess_id VARCHAR (128) NOT NULL主键,+ sess_data BYTEA非空,+ sess_lifetime整数非空,+ sess_time整数NOT NULL+)+ ');}公共函数(模式美元):空白
Migreer de数据库:
1
美元ob娱乐下载symfony控制台学说:迁移:迁移
测试lokaal门naar te surfen德网站。Omdat er geen visuele veranderingen zijn en Omdat我们钉geen sessies gebruiken,邹一切钉战马moeten威尔zoals voorheen。
请注意
我们hebben stappen 3 t / m 5这里不行nodig omdat我们de数据库hergebruiken als会话存储。Het hoofdstuk在复述laat虽然锄eenvoudig Het om nieuwe服务脚趾te voegen, te testen en te deployen在zowel码头工人als Platform.sh。
Omdat de nieuwe tabel不行“gemanaged”是门码头工人,zullen我们德码头工人河畔migratie moeten判定dat deze不行verwijderd酩悦沃顿在de volgende数据库migratie:
1 2 3 4 5 6 7 8 9 10 11
- - - / config /包/ doctrine.yaml+ + + b / config /包/ doctrine.yaml@@ 5、6 + 5 8 @@学说:#重要:您必须配置您的服务器版本,#在这里或在DATABASE_URL env var(见.env文件)# server_version:“13”++ schema_filter: ~ ^ ~(? !会话)orm: auto_generate_proxy_classes:真正naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
提交我的wijzigingen nieuwe分支:
1 2
美元git添加。美元git commit - m“配置数据库会话”
Deployen van甚至分支
Voordat我们在多彩的nemen de分支,moeten我们deze testen op dezelfde infrastructuur als在综合国力。我们moeten显得valideren dat一切去werkt voor de刺激
ob娱乐下载Symfony-omgeving (de lokale gebruikt德网站dev
ob娱乐下载Symfony-omgeving)。
变迟我们ν甚至Platform.sh-omgeving这个op van de基础Git分支:
1
美元ob娱乐下载syob直播appmfony云:env:删除sessions-in-db
1
美元ob娱乐下载syob直播appmfony云:部署
甚至说特种兵creeert vervolgens nieuwe omgeving:
- De分支erft De代码en infrastructuur van De huidige Git分支(
sessions-in-db
); - (De gegevens科曼外的德大师)- aka-productie omgeving门het这个范甚至consistente快照范阿莱service-gegevens, inclusief bestanden (bijvoorbeeld门德gebruiker geuploade bestanden)在数据库;
- Er wordt甚至nieuw专用集群gecreeerd om de代码,德德infrastructuur te deployen gegevens。
Aangezien de部署dezelfde stappen volgt als de部署naar生产zullen显得databasemigraties沃顿uitgevoerd。说的是即使goede许多om te valideren dat de migraties威尔德productiedataset会面。
德不行。主
omgevingen lijken erg op de主
omgeving, op enkele kleine verschillen na:电子邮件沃顿bijvoorbeeld standaard不行verstuurd。
Zodra de部署voltooid开放我在浏览器甚至de nieuwe分支:
1
美元ob娱乐下载syob直播appmfony云:url 1
默克op dat阿莱的平台。sh突击队的威尔op de huidige Git分支。说特种兵opent de voor de gedeployede URLsessions-in-db
分支;de URL ziet er丹als volgt外的https://sessions - - db - xxx.eu - 5. platformsh.site/
。
网站测试de op deze nieuwe omgeving,我邹阿莱gegevens moeten虽然早死我在master-omgeving hebt aangemaakt。
Als我米尔河畔conferenties de主
omgeving toevoegt,丹zullen在德泽不行sessions-in-db
omgeving verschijnen en亦然。De omgevingen zijn onafhankelijk en geisoleerd。
Als de代码op evolueert大师,库恩我altijd Git分支rebasen en de bijgewerkte versie deployen, waardoor de conflicten voor zowel de代码Als de infrastructuur沃顿opgelost。
我菅直人zelfs gegevens van de大师terug naar desessions-in-db
omgeving synchroniseren:
1
美元ob娱乐下载syob直播appmfony云:env:同步
Het debuggen van productie-deployment voor de ingebruikname
Standaard gebruiken阿莱的平台。sh-omgevingen dezelfde instellingen als de主
/刺激
omgeving(本书逢de Symfonob娱乐下载y刺激
omgeving genoemd)。在国家om de toepassing说stelt我reele omstandigheden te testen。Het geeft我Het gevoel dat我直接op productieservers ontwikkelt测试,低平火山口探测器de risico死daarmee gepaard服务员。我说doet河畔denken de goede oude tijd toen我们通过FTP verzorgden部署。
甚至在het geval van probleem,菅直人我misschien overstappen naar de Symfonyob娱乐下载dev
omgeving:
1
美元ob娱乐下载syob直播appmfony云:env:调试
Als我klaar弯曲,ga丹terug naar de productie-instellingen:
1
美元ob娱乐下载syob直播appmfony云:env:调试——了
警告
Schakelnooit德dev
omgeving op de ob娱乐下载de Symfony分析器主
分支;het maakt de applicatie traag en zorgt voor甚至箍serieuze kwetsbaarheden。
Testen van de productie-deployments voor de ingebruikname
Toegang hebben合计de nieuwe versie van de网站遇到productiegegevens biedt veel mogelijkheden:范visuele regressietests合计性能测试。黑焰是voor de klus de perfecte工具。
Raadpleeg de堵塞了Prestatiesom米尔te weten te科曼在锄我黑焰菅直人gebruiken om jouw代码te testen voordat我deze deployt。
莫日根naar效果
Als我tevreden弯曲在德德wijzigingen分支、合并丹德代码en de infrastructuur naar de Git主分支:
1 2
美元git checkout主美元git合并sessions-in-db
在部署:
1
美元ob娱乐下载syob直播appmfony云:部署
Bij de部署沃顿enkel de代码en wijzigingen de infrastructuur naar平台。sh gepusht;de数据wordt op geen enkele wijze beinvloed。