Synapse Studio workspace replication and sync - continuous-integration

For my project, I need to have two identical Synapse Studio workspaces (one for internal dev and another for external client) in two different subscriptions and organizations. The goals are:
Replicate our internal Synapse Studio workspace for my client on their end
Sync my future updates in my workspace with client's workspace.
I'm trying to do this through Azure DevOps' CI/CD pipelines. Both my workspace and client's workspace are attached to a repo. I'm trying to trigger a push to the client's repo when there is a push on our end. However, it's not clear to me on how to trigger a git push with external organization, it seems like the repos sync can only happen between repos under same subscription. Can anyone give me some tips or refer me to a guide?

Unfortunately, there is no option available in Azure to replicate the
Azure Synapse workspace to another Workspace in same or different
resource group or subscription.
You can raise a feature request here.
Also, there is no direct feature available in Azure DevOps to sync two repos.
As a out-of-box approach by using third party tool you can accomplish the task.
Try this third-party tool for Git Tools for Azure DevOps from Martin Hinshelwood to Git Sync Management.
You can refer the answer on this similar thread to follow the steps for the same.

Related

How to publish my multi project solution to Azure correctly

I have a visual studio solution with:
a Functions project (for Azure Functions),
an Email Service connecting to a mailing service,
API for my database (has controllers and unused views and an index.html),
Identity Server project (has controllers and unused views and an index.html),
React frontend ((I edit and run from VSCode, all other projects in solution from Visual Studio)
Do I have to push these up separately to azure, or do I simply push it all up to an Azure Web App (minus the database). How to i let it know to launch the the react index versus either of the indexes in the API or Identity projects?
No you can do it with single repo/Mono Repo itself. You can handle multiple build that is located in the same repo and use the path filter. Powershell gives you lot of flexibility to do that :)
Go through this blog

What permission give me access to code branches in Azure DevOps?

I don't see the Branches link in Azure DevOps in the Repos menu:
The Azure admin has confirmed that I'm in the Contributor group and I can access branches through Visual Studio Team Services.
I haven't been able to find the setting that will let me manage branches in Azure DevOps / visualstudio.com.
ANSWER:
So dumb... I needed to change this dropdown from the TFVC project in the Azure DevOps header:
To the Git repo:
And now I see options for Branches and Pull Requests in my Repos sub-menu:
According to your screenshot,seems you are using TFVC as your source control. This is the expected behavior.
For TFVC project the option under Repos should be
For Git project the option under Repos should be
You could do some manages in Visual Studio from Source Control Explorer.
Or use tf branch command line to handle this.
The branches menu looks to only be available when you are using Git as your source control system. When you are using TFVC that option is not available. The actual branches are shown under the repository menu structure. It appears you will probably have to use Visual Studio for the branch operations.

Source control terminology?

I store visual studio code using my online developer account at https://mycode.visualstudio.com/, using Team Foundation Version Control (not Git).
When it comes to accurate wording for documentation and folder structures, how should I best refer to this repositry?
"TFS", "VSTS", "TFVC", "VSTS-TFVC", etc ?
Which correctly describes the type of source control and the location of the repository I'm using?
You can say:
TFVC repository hosted in VSTS.
VSTS is a cloud platform - a set of services. It can host repositories of two types: Git and TFVC. You can host multiple repositories of each kind in any team project of your VSTS account.
Here is a good article about both source control systems: Choosing the right version control for your project.

BitBucket with Microsoft Team Services for Continuous Integration

Is it possible to use BitBucket with Microsoft Team Services for Continuous Integration? We want to automate the deployment processes.
Yes, but you must use a third party like Zapier (https://zapier.com/zapbook/bitbucket/visual-studio-online/).
This feature is submitted in Uservoice to be included natively : https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/10674648-enable-ci-build-support-for-bitbucket-git-reposito
This TechNet article, dated May 2016, seems to suggest you can actually setup a connection to your BitBucket repository.
It basically says to go through the following steps:
In VSTS, create a Visual Studio build definition
During creation, select Remote Git repository
In BitBucket, copy the same URL repo used when cloning from command line
In VSTS repository tab, create a new connection and fill Server URL with the one from BB
Is that what you're after when you say "use BitBucket with Microsoft Team Services for Continuous Integration" ?
HTH
EDIT: same is suggested in Option 2 at this MSDN blog post and in another blog post

Visual Studio Online Local Backup?

I work from a small IT department and I'm pushing to move from our current TFS implementation to Visual Studio Online. My boss who gets the final say is hesitant because "What if Microsoft decides to stop offering the service, without notice, or their servers fail how will we get our code". While I find such a scenario unlikely and the scenario of our TFS server crashing and burning with no backups/bad backups much more likely. I still need to address his concern.
Does anyone know of a way to "backup" a remote TFS implementation? So far the only thing I've come up with is doing a nightly pull of Visual Studio Online and submitting it to a local repo, feels hacky, feels wrong.
Take a look over at the discussion on this StackOverflow question: Is There A Way To Backup Visual Studio Team Services Projects?
Here is Richard's answer:
There's no out of the box backup ability.
Now, if you are only referring to source control, and not work items,
pull requests, builds, test plans or anything else that the service
offers, then I'd suggest you migrate your code over to git.
With git every developer will have a complete copy of the source
repository, including all history and commit comments. From there,
it's a simple task to push the git repository to a different git
hoster (such as bitbucket or github) and make them your new centrally
hosted git repository.
On a historical note, Visual Studio Online at one point offered a data
export for a period of time. You might want to add a vote or three to
this related UserVoice idea to help raise the importance of the
feature with Microsoft.
Side comment: The business risks in using Visual Studio Online will
come from either Microsoft shutting down the Visual Studio Online
service or that the underlying Azure infrastructure has such a
catastrophic failure that your Visual Studio Online account is
unrecoverable. Both of those are extremely low risk, and very likely
lower than the risks you'd have running TFS on-premises, in your own
data centre, unless of course, your infrastructure and staff are
better than Microsoft's :-)
I agree with Richard. Visual Studio Online is not going anywhere :) You can also use tools like OpsHub, TaskTop, and Kovair to setup a two-way synchronization or use the TFS Integration Platform to do the same thing if you really wanted an option. If you are using Git repositories, you can clone the repository into other locations to maintain multiple copies. All of those options take effort.
I posted the same answer to this stackoverflow question.
We developed our own VSO backup tool. We scheduled it as a scheduled task and it runs once a night. It then
just clones all our repositories to disk.
Taken from this blog:
We use the VSO Rest API to query our VSO account and get all the data
we need. Since in VSO you can only have one Team Project Collection,
we retrieve all the team projects of the default collection. Each of
these team projects can have multiple repositories that need to be
backed up. A folder is created for each team project and saved to a
location on disk that can be configured in the app.config. When the
team project folder is created, the task loops over each repository in
the team project and creates folders for each repository.
You can also fork it on GitHub here

Resources