Client TFS în Elementary OS

Cum decretele mele regale  sunt luuungi, mi-am luat lângă tron un laptop mai vechi pe care am instalat un Linux, în ideea că oricum nu-l voi folosi decât la browsing. Am ales Elementary OS ca distribuție, pentru că este îngrijit fățuită; pleacă de la Ubuntu, e încă în beta, dar începe să-mi placă mult.

La un moment dat, am vrut să mai scriu o linie-două de cod la proiecțelele mele. Cu cele ținute în GIT repositories, treaba a mers simplu, însă aveam unele plasate și în Team Foundation Server sau Services, pe Visual Studio Online.

Hai, lasă vorba…

Există un client de TFS pus la dispoziție de Microsoft – Team Foundation Everywhere; merge pe Linux, dat are nevoie de Java ca dependință.

Ca să instalez Java, trebuia să adaug locația de unde se instalează, cu add-apt-repository, însă add-apt-repository nu este inclus implicit cu Elementary OS mai nou, din rațiuni de securitate, zic ei. Așa că:

sudo apt install software-properties-common

ca să am acces apoi la add-apt-repository. Ca paranteză prefixul sudo este pentru rularea comenzii ca administrator. Am continuat cu

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
java -version

De-acum putem descărca Team Foundation Explorer TEE-CLC-14.0.3.zip (asta era versiunea curentă când am scris articolul). Am dezarhivat și eu ZIP-ul la

/opt/TEE-CLC-14.0.3/

Apoi am creat în directorul home un fișier .bash_aliases în care am scris două shortcut-uri

alias tf='/opt/TEE-CLC-14.0.3/tf'
alias tfl='/opt/TEE-CLC-14.0.3/tf -login:<Username.Je>,<ParolaMea> -server:https://<serverName>/tfs/<TeamProjectCollectionName>'

și-apoi, ca să funcționeze, am și dat

source .bash_aliases

Bun-bun, am instalat TFS în Linux. Cum folosesc?

Înainte de-a folosi tf get și tf checkin, trebuie să-ți configurezi un workspace pe stație și să-l mapezi la un folder local. Cum? Am pornit și eu de la comenzile TF documentate pe site-ul Microsoft MSDN.

Întâi mi-am creat un folder local unde să mapez ce se află pe serverul TFS. Ca notație, am zis:
Nume.Folder.Local = TFS_<Nume.Server.TFS>_<Nume.TeamProjectCollection>.

~/<Nume.Folder.Local>

Apoi, am creat un workspace pe stația locală, având numele de forma:
Nume.Workspace = <Nume.Server.TFS>_<Nume.TeamProjectCollection>.

tf workspace -new <Nume.Workspace> -computer:<Nume.Laptop> -comment:"Bla-bla-bla" -collection:https://server.name.ro/tfs/collection-name/ -login:<Nume.Utilizator>,<parolaMea>

De verificare, pot lista spațiile,

tf workspaces

sau le pot șterge

tf workspace -delete <Nume.Workspace> -login:<Nume.Utilizator>,<ParolaMea> -collection:https://server.name.ro/tfs/collection-name/

Și continuăm – mapez un folder de pe serverul TFS (chiar rădăcina) la un folder local:

tf workfold -map $/ ~/<Nume.Folder.Local> -collection:https://server.name.ro/tfs/collection-name/ -workspace:<Nume.Workspace> -login:<Nume.Utilizator>,<ParolaMea>

Din acest moment, pot aduce codul de pe serverul TFS în folderul local:

cd ~/<Nume.Folder.Local>tf get -login:<Nume.Utilizator>,<ParolaMea>

iar după editarea fișierelor, le urc pe server cu

tf checkin -login:<Nume.Utilizator>,<ParolaMea>

De cele mai multe ori, nu am nevoie de intervenții pentru rezolvarea conflictelor de editare, că io lucrez singur. Dar la nevoie, consult pagina de referință cu comenzile tfTeam Foundation version control commands.

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s