Hosting aplikasi ClickOnce pada Gitlab

Hosting ClickOnce application on Gitlab
Keperluan:
Aplikasi yang sudah di Install:
  • Microsoft Visual Studio 2017
  • Git for Windows
  • Tortoise Git

Intro

  Sebagai pembina aplikasi desktop, saya ingin menjadikan aplikasi saya dikemaskini secara automatik dan boleh dimuat turun oleh pengguna tanpa perlu saya menyewa servis awanan dan melibatkan kos tambahan.

  Setakat ini saya sudah mencuba Dropbox, OneDrive dan Google Drive tetapi tidak berjaya atau terlalu susah. Jalan yang paling mudah untuk host aplikasi ini ialah melalui Gitlab. Hanya commit dan push, aplikasi ClickOnce sudah boleh dikemaskini. Saya masih belum mencuba pada repositori Azure DevOps dan Github.


Kandungan ringkas langkah-langkah yang akan dilakukan


Langkah-langkah untuk pemula

Langkah 1: Buat Projek Baru Gitlab



Bina projek baru pada Gitlab - Create Project
  • Project Name ClickOnceTester
  • Visibility Level: Public
  • Initialize repository with a README: Checked

Langkah 2: Dapatkan Clone Address (HTTPS)

Dapatkan Clone Address dari [Repository > Clone] dan Copy dan simpan address di ruangan Clone with HTTPS.


Langkah 3: Buat Personal Access Token (PAT)

Buka [Settings > Access Tokens > Create personal access token]:
  • Name: Anything
  • Expires: Kosongkan
  • Scopes: tandakan semua

PAT sudah di generate
Copy dan simpan. Akan digunakan apabila push repositori buat kali pertama sebagai username dan password.

Username diambil dari ruang [Name], Password diambil dari ruangan [Your New Personal Access Token]


Langkah 4: Clone projek ke Desktop


Klik-kanan pada Desktop dan pilih [Git Clone...]

Masukkan Clone Address yang telah di copy tadi pada ruangan URL. Tekan OK. Perhatikan akan ada folder baharu bernama [clickoncetester] di desktop.


Langkah 5: Buat projek Windows Form baru menggunakan Visual Studio

File > New > Project > Visual Basic > Windows Desktop > Windows Form App
  • Name: ClickOnceTester
OK


Langkah 6: Setting untuk Publish

Buka properties projek melalui [Project > ClickOnceTester Properties] dan buka tab [Publish]
Diruangan Publishing Folder Location, browse ke folder [clickoncetester] yang telah di Clone pada Desktop tadi.

Kemudian copy dan paste Clone Address diruangan [Installation Folder URL],
Buang ".git" dari URL tersebut kemudian tambah "/raw/master" diakhir URL:
https://gitlab.com/naspenang/clickoncetester.git + /raw/master

menjadikan URL seperti ini:
https://gitlab.com/naspenang/clickoncetester/raw/master


Tandakan [This application should check for updates] > OK > Publish Now



Langkah 7: Masukkan fail .gitattribute

Buka folder yang telah di-clone ada Desktop. Buatkan fail baharu bernama [.gitattributes] dan masukkan kandungan ini:
*.manifest binary
*.application binary
*.deploy binary
*kandungan ini adalah untuk memberitahu Gitlag supaya jangan mengubah apa-apa kandungan didalam fail tersebut. Jika tidak, akan merubah hashing fail dan ClickOnce akan gagal kerana hash berubah.


Langkah 8: Push repositori ke Gitlab



Klik kanan pada folder clickoncetester yang telah di clone pada Desktop tadi. Pilih [TortoiseGit > Add.. > OK > Commit > "tulis apa-apa message" > commit > Push... > OK]

Jika ada paparan meminta user dan password, masukkan maklumat seperti di langkah 3.


Langkah 9: Buka Setup.exe dari repositori Gitlab




Buka repositori dan click pada Setup.exe


Langkah 10: Download Setup.exe, Run dan Install


Download then Open. Jika ada promtp Don't Run. abaikan. Run anyway.

Install. Jika installation selesai tanpa sebarang error. Maka semuanya telah berjaya.


Langkah 11: Update

Sekarang anda boleh kemaskini applikasi anda, publish ke folder yang sama seperti Langkah 6, dan Push seperti Langkah 8. Selepas itu Applikasi ini akan dikemaskini secara automatik.


PS: Anda boleh sebarkan fail Setup.exe ini melalui apa-apa medium yang anda suka untuk sebaran kepada pengguna, atau anda boleh hiaskan Readme.md mengikut citarasa anda dan sebarkan link ke Readme.md.

Selamat mencuba.

Ulasan