Just started a new gig where I manage SAS programs which gather data, apply suppressions, and ultimately create a list of contact information for campaigns to be distributed to customers.
Pardon the ignorance of my question in advance, but here it goes.
The team currently stores all their code on a Unix server, executes and tests it via Putty sessions, and then does everything from creating directories, merging code from weekly code run folders (branches) back to the master code directory, etc. It's very manual. The quality check process is also manual, sending code to another team, and then they use Subversion or Beyond Compare to compare the diffs.
With the limited knowledge of GitHub and other repositories (SVN, BitBucket) I have, it seems as if one of those solutions would be excellent to stream line this process. Just curious to have someone validate my thinking and make sure I'm on the right track, and then see if this is even possible.
- Implement Github or Bitbucket, then migrate the existing "Master Code" folders from the server to the repo master branches.
- When a campaign needs to run weekly, create a new branch accordingly (such as 09022016, 09092016, etc.) and then make any necessary changes.
- Commit changes to the respective weekly branch, and then trigger a code review in something such as Crucible. Is this possible?
- Once approved, deploy changes to the Unix server (in a folder with the same name as the branch in the repo) so that the .SAS or .ksh files can be executed. Is this doable? What would need to be used for this to happen?
- If changes need to be utilized for future campaign executions, merge the code from the branch back to the master.
- Repeat for all future campaign executions.
Does this make sense? Am I missing something? I was previously a developer at another organization, but never did any heavy coding, plus all these processes were already in place, so they just worked.
Sorry for the long winded question. Any help would be greatly appreciated.
Edit: More simplified questions... - Can I use Github to replace storing SAS programs in traditional file directories? Does this make more sense? - Can I then trigger a deployment from Github to a Unix server upon check in/approval? - If I choose to, could that deployment from Github to Unix also initiate a SAS program to kick off an entire campaign? - If I remember correctly, I can go into Crucible, select the commits/code I want to review, and then initiate a code review with the appropriate individuals, so this doesn't need to be automated. Right?