You need to create a certificate request to get a get a certificate from Microsoft Active Directory Certificate Services.
- Running on Windows
- Using IIS
- Go to the server where the certificate will be used
- Open IIS
- Click Server Certificates
- Click Create Server Request
- Fill out the information
- The Common Name(CN) must match the url or host name to work.
- Click Next
- Choose your Cryptographic Service Provider
- Choose your bit length
- Click Next
- Choose the filename where the request should be stored
- Click Finish
Now you have your certificate request ready to upload to Microsoft Active Directory Certificate Services.
It’s easy to assume that backups are happening on you SQL Server DBs. But assuming can be dangerous! It’s nice to know backups are created and when the last one was. Yet asking your DBA’s when the most recent backup was taken isn’t the most engaging question. That conversation would be better spent talking about how your teams can work together.
- Open SQL Server Management Studio
- Connect to your SQL Server
- Click View
- Click Object Explorer Details
- In the Object Explorer, Select the database you’re interested in
- On the right after you scroll, you’ll see a line stating Last Backup Date
- Now you can check the Last Backup Date on your own!
Jenkins and building software tends to generate a lot of files. If you used the default install directory for windows, those files went to
C:\Program Files (x86)\Jenkins . This is all well and good until the C drive starts running out of space. We can move the Jenkins HOME directory.
- Backup using ThinBackup
- Stop Jenkins service
- Create new directory (e.g.
- Copy existing folder(by default
C:\Program Files (x86)\Jenkins) to the new directory
- Diff the original and new to see if it worked
- Uninstall Jenkins service using
System Properties ->
JENKINS_HOME environment variable system wide
- Log out
- Log back in
- Verify that the environment variable was set with
set | find "JENKINS_HOME"
- Re-install the Jenkins windows service with
- Start the Jenkins service
- StackOverflow: Relocating JENKINS_HOME on Windows when installed as service
You’ve worked hard creating unit tests using NUnit. That’s a great start. This doesn’t mean you’re finished though.
- How do you know that the tests are being run?
Running the tests
Jenkins makes this part easy. There are two different types of builds that you can choose from. I’ll share how to do run unit tests with NUnit for both types.
Below you can see how it is configured in a FreeStyle Project. I am assuming the build will run on a Windows node or master.
Below you can see how it is configured in a Pipeline Project. I am assuming the build will run on a Windows node or master.
Aside: I used the NUnit.ConsoleRunner package explicitly rather than depending on the Jenkins node to have this dependency. If the version is updated, this will break. However it makes it easier to scale Jenkins nodes horizontally.
Aside: I highly recommend using the NUnit Test Adapter if you are using .NET to simplify your setup.
Install RabbitMQ on a windows server as a node within a cluster
- Follow my Install Guide or another install guide
- Have a working RabbitMQ cluster
- Stop the node if it is running with the command
- Copy the erlang cookie from the cluster to your downloads folder
- Run the following as Administrator
copy /Y %userprofile%\Downloads\.erlang.cookie %userprofile%
copy /Y %userprofile%\Downloads\.erlang.cookie %WINDIR%
copy /Y %userprofile%\Downloads\.erlang.cookie %WINDIR%\System32\config\systemprofile
- I personally do all 3 just to be safe, but I believe it uses the home directory
- If you get Access Denied, try deleting the existing file manually
- Run these commands from the RabbitMQ Command prompt
- This removes the version from the path
- Hopefully helps them be useful in the future
- Start the node with the command
- Stop the app to join the cluster
- You will see Stopping rabbit application on node rabbit@machinename
rabbitmqctl join_cluster rabbit@RABBIT01
- This is the cluster you have already created
- If the cluster name is
rabbit@RABBIT01.my.domain use only
- The cluster name
rabbit@RABBIT01 value will be found in the upper right in the web management page
- Start the applciation
- Enable the web management plugin
rabbitmq-plugins enable rabbitmq_management
- Clustering RabbitMQ on Windows
- How to determine if a port is open on a Windows server?
- In Windows, using the command line, how do you check if a remote port is open?
- RabbitMQ Erlang Version Requirements
SSIS isn’t always the easiest tool to debug or troubleshoot. It can be especially challenging to use script tasks and components due to their limited support of C#. By limited support I mean:
- Not being able to leverage NuGet
- Generating and Tearing down projects on the fly
- Limited to using the version of Visual Studio(VS) that aligns with the SQL Server version running the SSIS package
With this in mind, it can be very helpful to relegate all the additional work to a dll and leverage that over the a blend of SSIS and script tasks/components.
The standard recommendation is to load dll’s into the GAC. I personally don’t like this due to the fact that it’s shared at the machine level. This means you’re deployment could ruin my packages by upgrading/downgrading one of my dll’s. I’ve found a way to load assemblies not in the GAC online.
I have a few contentions with this solution
- Every dll must be explicitly added
- There is no logging
- file not found
- dll not included
I’d like to propose my own solution below.
This solution provides some notable benefits.
- You don’t need to explicitly state every dll
- You can setup a common location for the dll’s
- You can pass the dll’s in as a readonly parameter
- Any loaded or missing dll will get logged
Unfortunately this will only work for script tasks and not script components.
Provisioning environments and access isn’t something that I enjoy, but it’s really important. People may not be able to work or be as productive as they could be without their environments. People join and leave teams all the time.
This script pulls all the users from a given AD Group. It grants them OrgAuditor access to the PCF Org.
- PCF CLI
PowerShell Active Directory module
You’ve got Splunk installed and configured. You setup an HTTP Event Collector(HEC) and its appropriate index(es). You try to use the following to post to it,
but get the following response.
I was able to correct the issue by switching off the Enable indexer acknowledgement for that HTTP Event Collector Token.
- Go to
HTTP Event Collector
- Find the correct HTTP Event Collector
Enable indexer acknowledgmenet
- Then you’ll get the below successful response
You can read more about this issue on Splunk Answers.
I wrote in a previous article about how to setup NuGet.Server for yourself. Here are some additions to the web.config file that I would recommend.
requireApiKey makes sure that only trusted uploaders can contribute packages. While your private instance may be self-hosted and only internal, it’s still a best practice to restrict who can contribute packages.
apiKey simply allows you to define the desired key that will be shared with NuGet package contributors.
allowOverrideExistingPackageOnPush prevents an updated package overwriting an existing package. I am very against this, because it breaks the contract with the consumer. As the consumer, I should be able to count on the fact that once a NuGet package is published as a particular version, it won’t change.