Is it possible to show the ccnet production environment dashboard in staging(other) environments ccnet dashboard? - cruisecontrol.net

I have two deployment environments production and test for my project. I have kept the code repository in test environment and i have a branch 'release' in the repository which has the stable code which i will deploy in the production environment. I have installed ccnet in test environment and it takes code from the trunk and hosts in the test environment. I can see the ccnet webdashboard in the test environment.
I want to setup ccnet in the production environment also, but i fear whether users may be able to see the production environment's ccnet webdashboard. I don't want it to happen. instead i should be able to see the production server details in the test environment ccnet dashboard. there when i click on force button, it should take the code from release branch and deploy it in production env.
am i too ambitious or is it possible to achieve.

Yes that is possible. Install ccnet on prod, but not the web dashboard part. Then in test configure the dashboard to connect to the ccnet service on the prod server. Configure the firewall on prod to allow connections from the web dashboard on the test server, but Dont allow connections on that port from the Internet.

Related

How to deploy using Azure build agent to internal server?

I am using ( Agent pool : Azure pipeline ; Agent specification : windows-2019 )
for CI/CD build, I also want same agent to deploy war to Azure VM which is bound to specific domain.
Although, I am able to deploy war using self hosted agent, but for this I have to allocate one VM for CI/CD builds.
I want to eliminate this and use the same agent to build and deploy war to server.
You don't. Microsoft-provided hosted agents don't have connectivity to your on-prem environment. If you need to deploy to a server that is not internet-addressable, then you need to create a private agent within your network.
According to this document:
If your on-premises environments do not have connectivity to a Microsoft-hosted agent pool (which is typically the case due to intermediate firewalls), you'll need to manually configure a self-hosted agent on on-premises computer(s).
If in your case, it's the internal firewalls that block the hosted agent, I think you do have the need to use self-agent for deployment. Otherwise, you can try port forwarding like 4c74356b41 suggests.

How does GitLab CI of GitLab.com know where to find a registered local runner?

I have created a test pipeline on Gitlab.com with my personal user account. I created a local gitlab runner container and have registered it with tags for that project. It runs normally and I need to understand a specific point here. How does Gitlab CI on the internet know how to reach the runner on my laptop? It detects a public ip address which belongs to the place where I am doing this test, while I am setting behind a router which does natting and give me a private ip address. Further more, the runner runs inside a docker container.
How is this working exactly?
It is your local runner that connects to GitLab, not the other way around. You can connect to GitLab through your browser and with git. It the same way, gitlab-runner uses a web API to check for jobs a few times a second. This makes it so that no special configuration is necessary to get a gitlab-runner up and running, as access to webpages (port 80) is open on almost all devices.
Here is a little more information that I found:
https://gitlab.com/gitlab-org/gitlab-runner/issues/1230

Configure SonarQube in VSTS Hosted agent or as an Azure PaaS for CI

As part of including SonarQube in our CI pipeline for code coverage , we created a SonarQube server endpoint pointing to SonarQube server hosted in Azure VM. But we are in the verge of removing our dependency on IaaS, so is there any other alternatives for hosting SonarQube server .
Has anyone tried the same or have similar experiences?
The VSTS Hosted agent isn’t including SonarQube server, so you can’t configure SonarQube in VSTS Hosted agent.
You can use sonarcloud or setup a sonarqube server on your server machine.

team foundation server custom hosted build controller for selenium tests

I am currently using the Team Foundation Hosted Build Server. I have this setup with my azure cloud service so that when I commit a code change, the hosted build controller will build my changes and then the changes are deployed to a staging environment in the cloud service. During the build, I also have a set of automated tests that are run using NUnit.
This is all working fine until the Selenium tests start. Since IE and firefox are not deployed on the TFS hosted build server, my tests fail. Currently the TFS hosted build server is a VM image designed by microsoft.
Is there any easy way to designate a custom VM image which would have browsers installed so I could run these automated tests every time I check in a code change? Or when the hosted build server is created, auto install the browsers so they are available for testing?
Thanks!
TWilly
I ended up moving away from the TFS hosted build controllers since you can't customize them.
I was able to create an azure VM with windows 2012 server installed on it. I installed TFS server and was able to link my TFS account to my on-premise TFS build controller.
Since I am using the azure VM, I am able to customize it, so I was able to download all my browsers, install Selenium IE driver and get the builds to work.
I am still working on how to automate the starting of the VM and taking it down when not in use so I don't get charged for compute hours when it's not in use, but it is nice having it always up so that it can automatically build after a code check-in.

Azure application with different SDK versions on Staging and Production environments

Can I deploy an azure application to Staging Environment, using the 1.7 SDK, if I have a Production enviroment deployed with a older SDK version?
Yes. The Staging and Production are totally different environment from runtime perspective so you sure do it.
It actually does not even matter what you want to run on staging and production as the only difference is that with production deployment you have self configured DNS name while the staging give you a GUID based DNS name. Internally they are identical virtual machine configuration as configured in your service still very different to run separately.
Yes, "staging" and "production" deployments are running on different VMs and are completely independent of each other.

Resources