Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

How to deploy files to service.unece.org

Table of Contants

Table of Contents
exclude^How to deploy files to service.unece.org$

This how-to describes process of getting files from your local PC to service.unece.org using Repositories and Pipelines. Should be reffered to typically when a new version of UN/EDIFACT, UN/LOCODE or other deliverable hosted on service.unece.org is produced and needs to be published.

 

Info
titleTerms
  • Local Repository - Folders and files on your Local PC,
  • Remote Repository - Folders and files on remote Server, these files are used by Pipeline
  • Clone - Process of copying files from the Remote Repository to the Local Repository
  • Commit - Finalazing a change in files, should contain commed describing reason of the change
  • Push - Process of moving changes from Local Repository to Remote Repository, One Push can contain multiple commits
  • Pipeline - Automated process for moving files between environments (typicaly Remote Repository → Stage → Production)
  • Stage - Staging / Testing / Quality Assurance (QA) environemnt, serves for final validation of files before moving them into Production environemtn (service-qa.unece.org)
  • Production - Production environment, final destination of our files (service.unece.org)

(Terms not covered, : Pull (to be added), Pull-request, Branch, Merge, another billion of Git's features etc. ...)

Diagram

Simplified diagram of the whole process:

Gliffy Diagram
nameFiles-Deployment
pagePin10

Resources

Repository Web interface

Repository GUI

Pipeline Web interface

Working with Git

Official Sourcetree documentation

Step-by-step guide

Installing and Configuring tools

Sourcetree Initial configuration 

  • Download and install Sourcetree, if needed install also MS .NET Framework 7.4.1, as this requires Administrator privilegies, ask ISU for assistance
  • After Installation run Sourcetree application
  • As part of initial execution, configure Sourcetree - useraccount and tools

    1. Login to remote Repository 
      1. Image RemovedImage Added
    2. Authenticate user (using Windows / Active Directory credentials)
    3. If Credentials are correct, you should see confirmation
      1. Image RemovedImage Added
    4. Select modules for installation (we need only Git)
      1. Image RemovedImage Added
    5. Module installation - progress
      1. Image RemovedImage Added
    6. Module installation - confirmation
      1. Image RemovedImage Added
    7. SSH key configuration (can be skipped)

Cloning Repository

  • After Initial setup we configure and clone repositories
    1. Add a new repository
      1. Image RemovedImage Added
    2. On remote server, click "Clone in SourceTree" for easy configuration, or click on "Clone" and copy repository link (for Git repositories the link ends with .git)
      1. Image RemovedImage Added
    3. Review Cloning configuration, select local folder where files shoud be stored
      1. Image RemovedImage Added
    4. Run Clone and wait for process to finish
      1. Image RemovedImage Added
      2. Image RemovedImage Added
      3. Image RemovedImage Added

Making a change in files

  • Local repo without a change, after Initial Cloning we have a files in Local Repo the same state as they appear on Remote Repo (local repo is in sync with the remote repo)

    • Image RemovedImage Added
  • Local Repository in windows explorer
    • Image RemovedImage Added
  • New files (selected) to be transferred to local repo in windows explorer
    • Image RemovedImage Added
  • Transfer to local repo Overwrite prompt (if updating files to a new version)

  • Transfer to Local repo running


  • We have a new files (we updated the current files) in our local repo (this is considedred as a change, another type of change is adding and removing files/folders) 
    1. New files in local repo - see file status and commit log
      1. Image RemovedImage Added
      2. Image RemovedImage Added
    2. Differences - after selecting the file we can see details of Changes 
      1. Image RemovedImage Added
      2. Image RemovedImage Added
      3. Image RemovedImage Added
    3. Staging files - by selecting files clicking on "Stage Selected", selected files are staged and moved to Staged file window
      1. Image RemovedImage Added
    4. Adding commit message - we add commit message explaining nature of the change
      1. Image RemovedImage Added
    5. User info for trhe first commit - we are asked to provide email (full name should be automatically populated)
      1. Image Added
      2. Image RemovedImage Added
    6. Commit is linked to user account and we can click on "Commit" button to execute a commit
      1. Image RemovedImage Added
    7. After commit is executed, changes are prepared to be Pushed to remote repository, Push will became available
      1. Image RemovedImage Added
      2. Image RemovedImage Added
    8. Push - after clicking on "Push" button, we are asked to select branch, in this simple example we are staying in only one branch - master
      1. Image RemovedImage Added
    9. Push running, after clicking on Push button from branch selection, Commits (containing changes) are pushed to Remote Repository
      1. Image RemovedImage Added
    10. Push completed, we can see our changes in Graph view on Log/History tab
      1. Image RemovedImage Added
    11. Bitbucket - on Remote repo - Commits - we can also see our Commits
      1. Image RemovedImage Added
    12. Bitbucket - on Remote repo - Sources - we can also see each individual file together with commit message
      1. Image RemovedImage Added

Running Pipelines

  • Go to Trade Division pipelines - https://bamboo.unece.org/browse/TRADE
    1. Select desired Pipeline (in our case, as we are deploying new LOCODE Directory version - Service LOCODE)

    2. Select job (plan) to run

From Local Repository to Stage

  1. Deploy to Stage - Run plan
  2. Deploy to Stage - running

  3. Deploy to Stage - completed

  4. Changes appear on Stage for validation (service-qa.unece.org

    1. We can see changes on Page
    2. And in it's Source

From Stage to Prod

  1. Deploy to production - run option 1 from the left menu
  2. Deploy to production - run option 2 from the top menu
  3. Confirmation of "Deploy to PRD" run
  4. Deploy to production - running
  5. Deploy to production - completed
  6. Changes appear on Production (service.unece.org) in pages
  7. Changes appear on Production (service.unece.org) - in it's sources
  8. Link files to Production
    1. in our example https://service.unece.org/trade/locode*
    2. https://service.unece.org/trade/locode/af.htm
    3. https://service.unece.org/trade/locode/ax.htm
    4. https://service.unece.org/trade/locode/ae.htm
    5. Etc. ....