Here is the run down. You must add several lines into the gamemodes.txt.
::: WARNING ::::: THIS IS NOT ADVISED UNLESS YOU KNOW WHAT YOU ARE DOING OR FOLLOW THIS TUTORIAL EXACTLY :::
Open gamemodes.txt from your server (or your local folder). You will want to make a backup copy of the file just in case something goes terribly wrong (you will know because you won't be able to connect to your server anymore).
Next you will have to go to the section that you want to edit. For most people that will be running custom rotations, that will be gungame (ArmsRace) or casual. For this tutorial, we will be placing the new rotation into a classic casual server.
First, find the spot in your gamemodes.txt to edit the section for classic casual

Next, you want to scroll down to where that section defines that allowed map groups for that mode. You specifically want to do this for the online mode if you are hosting this server for internet use.

Now, create a name for your new map group that you want to use. For this example, i used ag_rotation. You need to place this as a map group so it becomes "mg_ag_rotation". Repeat this step for all of the modes that you may want to use this same map group for such as competitive mode or even gungame.
After you have done that, you now need to define the map group that you just entered. To do this, first locate the map groups section of the file.

Next you need to copy all the information that you want to use for that new group. The easiest way to do this is to copy an existing group to use it as a template, I used mg_bomb as my template since i was including most of those maps in my rotation.
Now, just make the group that you listed above and include all the maps that you want to be in the rotation.

In the example, we made the mapgroup ag_rotation and we added the CS maps, de_lake and de_bank to the existing bomb group and we took out de_train. Keep in mind, if you are adding a custom map, you will need to add some more information to the maps section. That will be covered in a seperate tutorial at some point but I will include a sample screenshot just for those of you that want it.

Next you will need to add the map group to your launch options of your server. We host all of our server through a VDS with NFOServers.com so I can simply change that on my managed panel. If you host through another company, you may need to open a support ticket to have your startup command changed or it will be listed somewhere on your control panel. If you run your own dedicated box, simply add +mapgroup <your new group here> to your server's start up script.

Just like magic, you should have a new rotation.
Now, restart your server and make sure you can still connect to it. If you connect, you should be all set and ready to go.