ການ build ແອັບ ແບບ CI ເພື່ອປະຢັດເວລາດ້ວຍ Bitrise

Comet Digital Agency
3 min readAug 27, 2020

--

ເບື່ອບໍ່ ເວລາຂຽນ code ແລ້ວຕ້ອງມານັ່ງ test ຢືນ build ຖ້າຄອມກາກແຮ່ງເສຍເວລາໄປຕື່ມອີກ

ແມ່ນແລ້ວ ມື້ນີ້ Comet ເຮົາມີຜະລິດຕະພັນໃຫມ່ມານໍາສະເໜີ ກໍຄື CI ດ້ວຍ Bitrise ບໍ່ລໍຊ້າ ພຽງແຕ່ໂທມາພາຍໃນ ສິບນາທີນີ້ເທົ່ານັ້ນ.

.

.

ຢອກໆ

ມາເລີ່ມກັນບ່ອນ CI ຫຼື Continuous Integration ແມ່ນຂະບວນການພັດທະນາ Software ທີ່ເຊື່ອມຕໍ່ກັນໃນແຕ່ລະຂັ້ນຕອນ ຕັ້ງແຕ່ແກ້ code ຈົນຮອດ build ແລະ test ທີ່ເກີດຂື້ນ ແບບ Automatic ໂດຍທີ່ເຮົາສາມາດກໍານົດໄດ້ວ່າໃນຂະບວນການນັ້ນ ຢາກໃຫ້ມີscriptຫຍັງ ຖືກrun ແນ່

ພໍຮູ້ ຄອນເຊັບລະເຮົາມາລອງໃຊ້ໃນການຂຽນແອັບແທ້ເບີ່ງບາດນິ ໂດຍບົດຄວາມນີ້ຈະໃຊ້ flutter ໃນການສ້າງແອັບ

ສິ່ງທີ່ຕ້ອງກຽມ:

  • account ຂອງ Bitrise
  • account ຂອງ github
  • flutter environment (setup ໃຫ້ຂຽນcode ດ້ວຍflutter ໄດ້)

ກ່ອນອື່ນ ມາສ້າງ Project ເປົ່າໆໃຫ້ມັນrun ໄດ້

ຈາກນັ້ນ ອັບໂຫຼດ code ທັງໝົດຂື້ນgithub ເພື່ອໃຫ້ Bitrise ສາມາດດຶງcodeມາໄດ້

ໄດ້ປະມານນີ້

ແລ້ວໆ ເຮົາມາຫາສ່ວນຂອງ Bitrise ໂດຍຈະສ້າງAppໃນຫັ້ນເລີຍ

ເຂົ້າມາໃຫ້ເລືອກ No ຖ້າເຮົາຢາກລອງອັບໂຫຼດແອັບຂອງໂຕເອງຊື່ໆ

ຂັ້ນຕອນຕໍ່ໄປແມ່ນເລືອກສະຖານະຂອງແອັບທີ່ເຮົາສ້າງໃນເວັບນີ້ ມີສອງແບບຄືແບບສ່ວນໂຕແລະແບບສາທາລະນະ ໂດຍບົດຄວາມນີ້ຈະເລືອກແບບສ່ວນໂຕ

ຈາກນັ້ນເລືອກrepository ຂອງgithubທີ່ເຮົາຫາກໍສ້າງກີ້ນີ້ໄດ້ເລີຍ

ຕໍ່ໄປແມ່ນເລືອກກິ່ງຂອງrepoທີ່ເຮົາຈະເອົາມາbuild ໃນນິເລືອກmaster

ຖ້າມັນກວດສອບ

ເມື່ອມັນກວດສອບແລ້ວໆເຈິວ່າມີscript testໃນprojectຈະເອົາມາໃຊ້ຫຼືບໍ່

ມາຮອດນິແມ່ນຄອນເຟີມການຕັ້ງຄ່າທີ່ຜ່ານມາ ຖ້າໂອເຄແລ້ວກໍກົດຄອນເຟີມໄປເລີຍ

ສ່ວນໂຕwebhookແມ່ນ ເອົາໄວ້ເພື່ອໃຫ້appເລີ່ມbuild ໂຕເອງທຸກເທື່ອທີ່ ກິ່ງໃນrepoເຮົາມີການpush. ສະດວກຫຼາຍໂຕນີ້ເພາະpushແລ້ວມັນbuildໃຫ້ຕໍ່ເລີຍບໍ່ໄດ້ກົດຫຍັງອີກ

ຈາກນັ້ນກໍສໍາເລັດການsetup appເພື່ອ build ໃນbitrise

ເມື່ອກົດເຂົ້າໄປ ກໍຈະເຈິວ່າມັນກໍາລັງrunດ້ວຍ workflow ພື້ນຖານຢູ່

Workflow

ຫົວໃຈສໍາຄັນຂອງbitrise ເລີຍກໍວ່າໄດ້ workflow ເປັນໂຕກໍານົດທຸກຢ່າງໃນການbuildຂອງເຮົາ ເຊັ່ນກໍານົດວ່າຫຼັງຈາກເຮັດໂຕນີ້ແລ້ວຈະເຮັດໂຕໃດຕໍ່ ດັ່ງຮູບ

ຈະເຫັນວ່າໃນ Workflowຊື່ primary ສີ່ງທໍາອິດຈະຖືກrun ແມ່ນ activate ssh key ເພື່ອຂໍເຂົ້າໃຊ້file ໃນgithubຂອງເຮົາ ຕໍ່ມາແມ່ນcloneມັນມາ ແລ້ວຕິດຕັ້ງflutter ແລ້ວtestຕາມລໍາດັບ

ແລ້ວສໍາຫຼັບແອັບເຮົາ ເມື່ອworkflow primaryຖືກrun ເຮົາຕ້ອງການໃຫ້ມັນbuild apkຂອງandroid ແລະ build ipaຂອງios ອອກມາພ້ອມກັນ ກໍຈະຕ້ອງເພີ່ມitemໃນworkflowເຂົ້າໄປ ດ້ວຍການກົດບວກທາງລຸ່ມຂອງitem ຖ້າຢາກໃຫ້ມັນຖືກrun ຕໍ່ຈາກitem ໂຕໃດ

ສໍາຫຼັບworkflowເພື່ອbuild android/ios ກໍຈະເປັນປະມານນີ້

ຈະເຫັນວ່າຫຼັງຈາກflutter installແລ້ວມັນຈະ buildໃຫ້ເຊີ່ງໃນຂັ້ນຕອນນີ້ເຮົາຈະໄດ້ apkມາ ແຕ່ຍັງບໍ່ໝົດເພາະວ່າເຮົາຢາກໄດ້ ipa ນໍາ ເລີຍຕ້ອງ ຕິດຕັ້ງ Cert ແລະ Archive ຕໍ່ ໂດຍມັນຈະດຶງຂໍ້ມູນມາຈາກການsigning ທີ່ຈະຂຽນໃນຂັ້ນຕອນຕໍ່ໄປ

ສໍາຫຼັບios ສໍາຄັນຫຼາຍຂັ້ນຕອນນີ້ *ແຕ່ຖ້າໃຜບໍ່ມີapple id ທີ່ສາມາດອັບໂຫຼດແອັບໄດ້ໃຫ້ຂ້າມໄປເລີຍເພາະຈະບໍ່ສາມາດ build app ຂອງiosໄດ້

ການ Signing

ສໍາຫຼັບandroid(release) ແລະios ການຈະbuildໄດ້ນັ້ນເຮົາຕ້ອງ sign ໂຕຕົນຂອງເຮົາເຂົ້າໄປກ່ອນ.ເຊີ່ງandroidເອີ້ນfileໂຕນີ້ວ່າkeystoreແລະiosເອີ້ນວ່າ Provisioning Profile ແຕ່ຫຼັກການຂອງສອງໂຕນີ້ຄ້າຍໆກັນຄືການsign ໂຕຕົນຂອງເຮົາເຂົ້າໄປໃນແອັບ(ເບີ່ງdarkໆເນາະ)

ແລະໃນbitriseໃຫ້ເຂົ້າໄປtabຊື່ Code Signing ແລ້ວອັບໂຫຼດfile keystoreແລະ Provisioning Profile ເຂົ້າໄປຕາມທີ່ມັນບອກເລີຍ (ps. Provisioning Profileຕ້ອງການ cerເພື່ອຢັ້ງຢືນໂຕຕົນອີກບາດໜຶ່ງ)

ສໍາຫຼັບios ສ່ວນໃຜທີ່ Signແບບauto ແມ່ນສາມາດexport Provisioning Profile ແລະcertໄດ້ທາງນີ້ ດ້ວຍການ

run “bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap.sh)"

ໃນterminal ລະເຮັດຕາມຄູ່ມືດ້ານລຸ່ມ

ແລ້ວຖ້າບໍ່ມີຫຍັງຜິດພາດຕາມແຜນ ເມື່ອເຮົາກົດbuild ມັນກໍຈະrun workflowທັງໝົດແລະ exportເປັນ apk/ipa ອອກມາໃຫ້ເຮົາ ແບບຊີ້

ແຕ່ໂອກາດໂຊກດີມັນໜ້ອຍຫຼາຍ55555 ສ່ວນໃຫຍ່ຈະເຈິແຕ່error

ແນະນໍາໃຫ້ລອງວິເຄາະດີໆວ່າerrorມັນອາດຈະເກີດມາຈາກຫຍັງ ຫຼື ວ່າgoogleເອົາ ແຕ່ທີ່ສໍາຄັນແມ່ນ ຢ່າລືມວ່າໂຕນີ້ບໍ່ແມ່ນຫຍັງຫຼາຍນອກຈາກການbuild appປົກກະຕິແຕ່ເຮັດເປັນautoຊື່ໆ ສໍາຫຼັບໃຜທີ່ເຄີຍbuildມາ ແລ້ວກໍອາດຈະຫາທາງແກ້ບໍ່ຍາກ ແຕ່ຖ້າໃຜບໍ່ເຄີຍ ແນະນໍາໃຫ້ລອງbuild ແບບພື້ນຖານໃຫ້ເຂົ້າໃຈວິທີການເຮັດວຽກກ່ອນເດີ້ ຈັ່ງມາໃຊ້bitrise ຈະໄດ້ຄວາມຮູ້ແຖມງ່າຍຂື້ນຕື່ມ.

ສະຫຼຸບ

bitrise ມັນຈະເຂົ້າມາຊ່ວຍໃນການbuild ແບບauto ແລ້ວອັບລົງstore ເລີຍແຕ່ມັນສໍາຄັນຫຼາຍທີ່ເຮົາຕ້ອງຮູ້ການbuild appແບບ manual ກ່ອນຈັ່ງມາເຮັດautoໄດ້ ເພາະເວລາເຈິບັນຫາເຮົາກໍຈະເຂົ້າໃຈວ່າບັນຫາຢູ່ບ່ອນໃດແລ້ວເຂົ້າໄປແກ້ໄຂໄດ້ນັ້ນເອງ

--

--

Comet Digital Agency
Comet Digital Agency

Written by Comet Digital Agency

Welcome to Comet sharing space :) enjoy our pool of knowledge. We are a mobile app development agency in Laos with a focus on user experience and creativity.

No responses yet