Food: -pack your meals in advance for the day. Meat, rice/potatoes/pasta, and vegetables all in one Tupperware container. Pick things that won't be disgusting to eat cold if you have no microwave on site. Make 3-4 a containers like this each day.
-Take shakes, meal replacement bars, trail mix, and other easy-to-consume snacks for between meals and when you don't have time to sneak off for 10 minutes to throw down one of your Tupperware meals.
Eat a big breakfast before you go in, and a big dinner when you get back to your hotel. If even rudimentary cooking isn't an option, eat out or buy frozen chicken breast, precooked ground beef, microwaveable rice packets, etc and make it work. If you still need extra calories, throw down a protein shake and a couple spoons of peanut butter before bed.
While at work, try to eat every 3 hours. Whether it's a snack or Tupperware meal, just make yourself get something in. With the breakfast before, dinner after, and eating every 3 hours during, that's 5-6 meals daily. Throw in the shake and you can make it 6-7. Assuming the meals are large enough, that should be enough to gain weight.
Training: -if your 3 days off are non-consecutive, find a full body, 3 day per week program and do it on those days.
- if your 3 days off are consecutive, you're going to have to train on 1-2 days that you work. Most hotels have gyms. If the ones that you're staying at don't for whatever reason, get a membership at one of those big box gyms that has a bunch of locations. When you find out what city you'll be working in, do a google search to see where the nearest franchise is located.
If there isn't one anywhere near your hotel or worksite, go to other gyms in the area, explain your situation, and talk to them about getting a short term membership/ pass to work out there for the next week/ month/ however long you're going to be working that site. This is what I do while on vacation, and I've rarely had to pay more than 20 bucks for a week of training. If you're going to be in town for longer than a week, you can probably get an even better deal than that.