Got it! I probably complicated it more than I had to so if anyone sees any way to simply this I would love to hear feedback.
To solve this, let $y=0$ so that
$f(f(x)) = x+f(2017)$.
Let $c=f(2017)$. Then for all $x\in\mathbb{Z}$,
$$f(f(x)) = x+c$$
Now plugging $x=y=0$ into the original equation we get
$f(f(0)) = f(2017)$. Taking $f$ of both sides yields
$f(f(f(0))) = f(f(2017))$ which is $f(0)+c=2017+c$ so
$f(0) = 2017$.
Now take $f$ of both sides of the original equation to get
$f(f(f(x)+y)) = f(x+f(y+2017))$
which is
$f(x)+y + c = f(x+f(y+2017))$
Setting $y=-2017$ gives
$$f(x)-2017 + c = f(x+f(0)) = f(x+2017)$$.
Now we return again to the original equation with $y=1$. This gives
$f(f(x)+1) = x+f(2018)$ which by the above formula is
$x+f(1)-2017 + c$. So
$$f(f(x)+1)-f(f(x)) = x+f(1)-2017+c - (x+c) = f(1)-2017$$
Now, as $f(f(x)) = x+c$, $f(f(x))$, and thus $f(x)$, can attain all values in $\mathbb{Z}$. So for any $k\in\mathbb{Z}$, there is an $x\in\mathbb{Z}$ such that $f(x)=k$, and so the above formula becomes
$$f(k+1)-f(k) = f(1)-2017$$
for all $k\in\mathbb{Z}$. So for all $k\in\mathbb{Z}$,
$$f(k) = k+c_2$$
for some $c_2$. So the original equation becomes
$$x+y+2c_2=x+y+2017+c_2$$
so $c_2=2017$. Thus the only solution is
$$f(x) = x+2017$$
There is the idea of substituion, which consists in equating subfunctional expressions. And this is the case where this idea helps to see the implicit constraints imposed on the function by the original functional equation: $$(c+1)x+f(y)=x+2y\Rightarrow cx+f(y)=2y\Rightarrow f(y)\ge 2y, \; y\in \mathbb R^+\qquad(1)$$ In deed, if the inequality higher isn't satisfied for some $y_0$, then exists $x_0$ such that equality $(c+1)x_0+f(y_0)=x_0+2y_0$ is reached and it leads to $$f((c+1)x_0+f(y_0))=2cx_0+f(x_0+2y_0)\Rightarrow0=2cx_0$$ what is impossible.
Now one of the natural ideas is to find an upper limiting expression. Let's use $(1)$: $$f((c+1)x+f(y))\ge 2(c+1)x+2f(y)\Rightarrow$$ $$ \Rightarrow 2cx+f(x+2y)\ge 2(c+1)x+2f(y)\Rightarrow $$ $$\Rightarrow f(x+2y)\ge 2x+2f(y) \qquad (2) $$ $$ f((c+1)x+2\frac{f(y)}{2})\ge 2(c+1)x+2f(\frac{f(y)}{2})\Rightarrow $$ $$\Rightarrow 2cx+f(x+2y)\ge 2(c+1)x+2f(\frac{f(y)}{2})\Rightarrow $$ $$\Rightarrow f(x+2y)\ge 2x+2f(\frac{f(y)}{2})\Rightarrow f(y)\le 4y, \; y\in \mathbb R^+ \qquad (3)$$
Let's suppose exists $y_1$ such that $(3)$ isn't satisfied. Then it's obvious exists $x_1$ such that: $$2x_1+4y_1=f(y_1)\Rightarrow x_1+2y_1=\frac{f(y_1)}{2}\Rightarrow$$ $$\Rightarrow f(x_1+2y_1)\ge 2x_1+2f(\frac{f(y_1)}{2})\Rightarrow$$ $$\Rightarrow 0 \ge 2x_1+f(\frac{f(y_1)}{2})$$ what is impossible.
Now let's suppose exists $y_3$ such that $f(y_3)\gt 2y_3 \; (4)$. Then exists $a \in (2;4]$ such that $f(x)\le ax, \; x \in \mathbb R^+$ and for any sufficiently small $\varepsilon \gt 0$ we can choose $x_3$ such that $f(x_3)\ge (a-\varepsilon)x_3$. The idea here is to use the existence of such "critical" points of function to find even stronger restrictions on the function. Let's promote this idea:
$$(c+1)x+f(y)=x_3 \Rightarrow$$ $$\Rightarrow f((c+1)x+f(y))=(a-\varepsilon)(c+1)x+(a-\varepsilon)f(y)=2cx+f(x+2y) \le 2cx+ax+2ay \Rightarrow$$ $$\Rightarrow (a-\varepsilon)(c+1)x+(a-\varepsilon)f(y) \le 2cx+ax+2ay \Rightarrow$$ $$\Rightarrow (a-\varepsilon)(c+1)x+2(a-\varepsilon)y \le 2cx+ax+2ay \Rightarrow$$ $$\Rightarrow ((a-2-\varepsilon)c-\varepsilon)x \le 2\varepsilon y \qquad (5)$$
Note that in the $(5)$ for sufficiently small $\varepsilon$ expression $((a-2-\varepsilon)c-\varepsilon)x$ is positive (since $a,c$ are fixed numbers in this context). As $y\to0$ we get $2\varepsilon y\to0$ while $x\to \frac{x_3}{c+1}$ and $((a-2-\varepsilon)c-\varepsilon)x \to ((a-2-\varepsilon)c-\varepsilon)\frac{x_3}{c+1}$, so the (5) isn't satisfied (since $(3)$ we get $f(y)\to 0$ as $y\to0$, it also explains, why substitution $(c+1)x+f(y)=x_3$ is legal).
From above we get assumption $(4)$ is false and assuming $(1)$ we conclude $$f(x) \equiv 2x$$ is the only solution of the original functional equation.
Best Answer
Let $g(x) = f(x-1)$. Then we have $$ 3g(2x+2) = g(x+1) + 5x, $$ or equivalently $$ g(x)-\frac{1}{3}g(\frac{x}{2}) = \frac{5x-10}{6}=: \phi(x).$$ Note that $g(0) = -2.5$. Hence we have $$\begin{eqnarray} g(x) = g(x) -\lim_{j\to\infty}3^{-j}g(2^{-j}x) &=& \sum_{j=0}^\infty \left(3^{-j} g(2^{-j}x) -3^{-j-1}g(2^{-j-1}x)\right)\\ &=& \sum_{j=0}^\infty 3^{-j}\phi(2^{-j}x)\\ &=&\frac{1}{6}\sum_{j=0}^\infty 3^{-j}(5\cdot2^{-j}x-10)\\ &=&\frac{6x-15}{6} = x -\frac{5}{2}. \end{eqnarray}$$ This establishes $f(x) = x -\frac{3}{2}$.
$\textbf{EDIT:}$ I implicitly assumed that the domain of definition of $g$ is $\mathbb{R}$. If the domain of $g$ contains $0$, then the unique continuous solution is given by $g(x) = x-\frac{5}{2} $ as we can see from the above argument. Otherwise, the argument collapses, and one can see that $$g(x) = ( x-\frac{5}{2}) + h(x)$$ is a solution of $g(x)-\frac{1}{3}g(\frac{x}{2}) = \phi(x)$ whenever it holds that $$ h(x) = \frac{1}{3}h(\frac{x}{2})\quad\cdots(*). $$ Note that any continuous function $k : [1,2]\to\mathbb{R}$ with $k(2) = \frac{1}{3}k(1)$ can be extended uniquely to continuous $\overline{k} :(0,\infty)\to\mathbb{R}$ satisfying $(*)$. This shows that there are as many solutions $$g:x\in(0,\infty)\mapsto ( x-\frac{5}{2}) + \overline{k}(x)$$ as there are $k:[1,2] \to\mathbb{R}$ with $k(2) = \frac{1}{3}k(1)$. And the same is also true for $g(x)$ on $(-\infty,0)$.